description | title | ms.date | f1_keywords | helpviewer_keywords | ||
---|---|---|---|---|---|---|
Learn more about: Mutable Data Members (C++) | Mutable Data Members (C++) | 03/14/2024 |
|
|
This keyword can only be applied to non-static, non-const, and non-reference data members of a class. If a data member is declared mutable
, then it is legal to assign a value to this data member from a const
member function.
mutable member-variable-declaration;
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.cppclassX { public:boolGetFlag() const { m_accessCount++; return m_flag; } private:bool m_flag; mutableint m_accessCount; };