Membros de dados mutáveis (C++)
Essa palavra-chave só pode ser aplicada aos membros de dados não estáticas, não constantes e não referenciados 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
.
Sintaxe
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;
};
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários