2012-09-27 66 views
1

我所遇到的一個程序,其中有名稱爲「A」類。未知變量聲明語法++

有在,我無法理解一個變量的聲明的語法如下。

A& obj; 

這是什麼意思,在什麼情況下使用。

+0

手頭上有[良好的C++書](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)嗎?這樣一本書將涵蓋這種類型的變量聲明以及更多。 –

+0

你能建議嗎? – user1198065

+0

我的評論有它的鏈接:http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list我們來看一看「初級 - 介紹」的部分。 –

回答

4

objreferenceA對象。據推測,這是一個類數據成員,因爲引用不能被默認初始化(他們必須從一開始就引用某些東西)。

struct Foo 
{ 
    int& a; 
    Foo(int n) : a(n) {} // must be initialized in constructor initialization list. 
} 
+0

爲什麼不能使用指針? – user1198065

+2

@的情況下user1198065當一個「空」或「默認」值是沒有意義的,基準可能是一個更好的選擇。你知道它必須引用一個合適的程序中的東西。 – juanchopanza

+2

@ user1198065:在這種情況下,實際上可以使用指針,但引用是首選,因爲它們通常比指針更安全。正如juanchopanza所提到的,參考文獻不能在合格的程序中設置爲null。 –