-1
我是一個學習C++的SWE,並且有一個關於引用的問題 - 抱歉,如果它太簡單。參考文獻總是被解釋爲「不變的」,因爲它們「總是指向相同的目標」。否則,你將無法分配任何新的東西。例如:C++引用是否總是指向同一個對象?這個具體案例呢?
int x; // an int
int &refX = x; // reference to x
refX = 5; // here, a new `int` object gets instantiated and overwrites x
所以,refX不再指向同一個對象!我想一個更正確的定義是它總是指向相同的地址位置。它是否正確?在這種情況下,它的行爲非常類似於const *,除非不必使用*運算符。我錯過了什麼嗎?
謝謝!
它仍指向它所在的內存中的相同位置。在那個地方的價值被覆蓋,參考沒有改變。 – mszymborski
在這種情況下,'x = 5'和'refX = 5' – smac89
我想我狹隘地理解你試圖提問的問題,但並不認爲你的解釋太準確。你不能改變地址的一個變量,在任何時候,無論如何,只要你願意,你可以改變它指向的內容。如果你正在談論被指向的地址或變量本身的地址,可能只是澄清一下? –