在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中的内容。

09-04 18:01
查看更多