变量的数据成员(C++)

此关键字只能应用于类的非静态和非常数数据成员。如果数据成员声明 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()
{
}

请参见

参考

C++关键字