Изменяемые члены данных (C++)

Это ключевое слово может применяться только к нестатическому, неконстантным и ненаправным элементам данных класса. Если элемент данных объявлен mutable, то он является законным, чтобы назначить этому элементу данных значение из const функции-члена.

Синтаксис

mutable member-variable-declaration;

Замечания

Например, следующий код будет компилироваться без ошибки, так как m_accessCount он mutableобъявлен, и поэтому его можно изменить GetFlag , несмотря на GetFlag то, что является функцией-членом const.

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

См. также

Ключевые слова