Miembros de datos mutables (C++)
Esta palabra clave solo se puede aplicar a los miembros de datos no estáticos y no constantes de una clase. Si se declara un miembro de datos mutable, después se permite asignar un valor a este miembro de datos desde una función miembro de tipo const.
mutable member-variable-declaration;
Comentarios
Por ejemplo, el siguiente código se compilará sin errores porque m_accessCount se ha declarado como mutable y, por tanto, se puede modificar con GetFlag aunque GetFlag sea una función miembro de tipo const.
// mutable.cpp
class X
{
public:
bool GetFlag() const
{
m_accessCount++;
return m_flag;
}
private:
bool m_flag;
mutable int m_accessCount;
};
int main()
{
}