Membros de dados mutável (C++)

Esta palavra-chave só pode ser aplicada aos membros de dados não-estáticos e não-const de uma classe.Se um membro de dados for declarado mutable, então é legal para atribuir um valor para este membro de dados de um const a função de membro.

mutable member-variable-declaration;

Comentários

Por exemplo, o seguinte código será compilado sem erros, porque m_accessCount foi declarado estar mutablee, portanto, pode ser modificado por GetFlag , mesmo que GetFlag é uma função de membro const.

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

int main()
{
}

Consulte também

Referência

Palavras-chave C++