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

このキーワードは、クラスの non-static データ メンバーおよび non-const データ メンバーにのみ適用できます。This keyword can only be applied to non-static and non-const data members of a class. データ メンバーが宣言されている場合変更可能なからこのデータ メンバーに値を代入することはその後、 constメンバー関数。If a data member is declared mutable, then it is legal to assign a value to this data member from a const member function.

構文Syntax

mutable member-variable-declaration;

RemarksRemarks

に次のコードがエラーなくコンパイルするなど、m_accessCountするとして宣言されている変更可能なで変更することができますGetFlagにもかかわらずGetFlagが const メンバー関数。For example, the following code will compile without error because m_accessCount has been declared to be mutable, and therefore can be modified by GetFlag even though GetFlag is a const member function.

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

int main()
{
}

関連項目See also

キーワードKeywords