Membres de données mutables (C++)
Ce mot clé peut être appliqué uniquement aux données membres non statiques et non constantes d'une classe. Si une donnée membre est déclarée mutable, l'assignation d'une valeur à cette donnée membre à partir d'une fonction membre const est autorisée.
mutable member-variable-declaration;
Notes
Par exemple, le code suivant est compilé sans erreur car m_accessCount a été déclaré comme étant mutable et peut donc être modifié par GetFlag bien que GetFlag soit une fonction membre const.
// mutable.cpp
class X
{
public:
bool GetFlag() const
{
m_accessCount++;
return m_flag;
}
private:
bool m_flag;
mutable int m_accessCount;
};
int main()
{
}