変更可能なデータ メンバー (C++)

このキーワードは、クラスの non-static データ メンバー、non-const データ メンバー、non-reference データ メンバーにのみ適用できます。 データ メンバーが mutable として宣言されている場合、const メンバー関数からこのデータ メンバーに値を有効に割り当てることができます。

構文

mutable member-variable-declaration;

解説

たとえば次のコードは、m_accessCountmutable として宣言されており、したがって GetFlag が const メンバー関数であっても GetFlag によって変更できるために、エラーなくコンパイルされます。

// mutable.cpp
class X
{
public:
    bool GetFlag() const
    {
        m_accessCount++;
        return m_flag;
    }
private:
    bool m_flag;
    mutable int m_accessCount;
};

関連項目

キーワード