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