変更可能なデータ メンバー (C++)
このキーワードはクラスの非静的メソッドと非 const データ メンバーにのみ適用できます。データ メンバーが mutable いる場合は 定数 のメンバー関数からこのデータ メンバーに値を代入するできます。
mutable member-variable-declaration;
解説
したがってたとえば次のコードは GetFlag によって GetFlag が定数のメンバー関数ですが m_accessCount が mutable として宣言されたできます。変更するエラーなしでコンパイルされます。
// mutable.cpp
class X
{
public:
bool GetFlag() const
{
m_accessCount++;
return m_flag;
}
private:
bool m_flag;
mutable int m_accessCount;
};
int main()
{
}