2012-03-22 88 views
0

有没有一种方法来使用引用作为成员变量,而无需在构造函数中初始化它? 我的问题是,构建对象时我没有参考。引用作为类成员变量没有初始化

+1

显示你想做的事。你可能不需要在构造函数中执行所有的初始化,当你需要它的时候可以偷懒。 – 2012-03-22 12:14:11

+0

你可以在参考手后构造对象吗? – 2012-03-22 12:40:11

回答

2

> Is there a way to use a reference as a member variable without initialising it in the constructor?

没有,引用必须在构造函数初始化列表中初始化

> My problem is that I don't have the reference at hand when constructing the object.

我猜你的意思是你没有一个对象引用。在这种情况下,你必须去找一个指针并将它初始化为NULL。然后,当你有这个对象时,指针指向那个对象。在这种情况下不能使用引用,因为您无法将引用初始化为NULL

4

编号引用必须在创建时初始化,之后不能修改。该标准规定

参考应初始化以指代有效的对象或功能 功能。

如果在构造上没有目标对象,则切换到使用指针而不是参考。

0

一旦引用被初始化,它将在其生命期间指向相同的实体。任何试图“重置”它都会导致未定义的行为。

所以简短的回答:如果你不能初始化,你不能使用它。