Изменяемые члены данных (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++