在C++中,这是否可以按预期运行,或者在某些情况下会出现未定义的行为
class Foo
{
public:
const int & ref;
Foo() : ref(val) { val = 7; }
void SetVal(int v) { val = v; }
private:
int val;
}
我希望
ref
将“包含” val
的值。为什么我要这样做... baceuse我希望变量只能从外部读取,而只能从类内部读取。
最佳答案
是的,这将按预期工作。设置val
时,ref
将具有有效的位置。从那时起,ref
将只保留val
中的内容。