我没有在SO上找到与mutable const
相关的任何主题。我已经将代码减少到最小工作代码(在Visual Studio上)。如果我们取消注释//*data = 11;
,编译器会抱怨const_ness。我想知道mutable const
是如何工作的。什么是可变常量?
class A
{
public:
void func(int & a) const
{
pdata = &a;
//*pdata = 11;
}
mutable const int * pdata;
};
int main()
{
const A obj;
int a = 10;
obj.func(a);
}
这段代码看起来很像废话...... – deviantfan
我缺乏在示例中加入更多意义的能力。 –
[这会更有趣一个例子。](http://ideone.com/g2ACsP)注意我们如何修改const对象中的成员。 – user4581301