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