這是指C++編程語言。假設我們有一個類C
和做到這一點:C++:使用const的引用和生命週期擴展
C var1 = C(init_parameters);
C& var2(var1);
問題1: 如果我們改變VAR2,例如var2.memberA = 3
,是這也影響var1
?或者我們是否創建了一個新對象,以便var2
不參考var1
?
問題2: 假設我們有這樣的功能:
const C& f(C var1) {
const C& tmp(var1);
return tmp;
}
可我們現在所說的上述功能,例如value = f(var1)
並獲得有效的參考value
?原則上返回參考超出範圍,但const
延長壽命?如果var1
被修改或刪除,會發生什麼情況,這會影響常量引用value
?換句話說,爲了清楚起見,我可以使用變量value
,就好像它是var1
的副本一樣嗎?
「這裏我們稱複製構造函數」不是真的。 'var2'是一個參考。 – juanchopanza
您可以解釋一下,我會糾正我的陳述嗎? – Mannaggia
「'var2'是對'var1'的引用」將是準確的。 – juanchopanza