这是指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