|
此关键字只能应用于类的非静态和非常量数据成员。 如果某个数据成员被声明为 mutable,则从 const 成员函数为此数据成员赋值是合法的。
语法
mutable member-variable-declaration;
备注
例如,以下代码在编译时不会出错,因为 m_accessCount 已声明为 mutable,因此可以由 GetFlag 修改,即使 GetFlag 是常量成员函数也是如此。
// mutable.cpp
class X
{
public:
bool GetFlag() const
{
m_accessCount++;
return m_flag;
}
private:
bool m_flag;
mutable int m_accessCount;
};
int main()
{
}
|
|