2012-03-22 92 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

一旦引用被初始化,它將在其生命期間指向相同的實體。任何試圖「重置」它都會導致未定義的行爲。

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