Partilhar via


Membros de dados mutáveis (C++)

Essa palavra-chave só pode ser aplicada aos membros de dados não estáticas e não constantes de uma classe. Se um membro de dados for declarado como mutable, então é válido atribuir um valor a este membro de dados de uma função membro const.

mutable member-variable-declaration;

Comentários

Por exemplo, o código a seguir será compilado sem erros porque m_accessCount foi declarado como mutable e, consequentemente, pode ser alterado por GetFlag, mesmo que GetFlag seja uma função de membro constante.

// 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++