Membri dati modificabili (C++)
Questa parola chiave può essere applicata solo a membri dati non dichiarati come static e const di una classe. Se un membro dati viene dichiarato mutable, è consentito assegnare un valore a questo membro dati da una funzione membro const.
mutable member-variable-declaration;
Note
Ad esempio, il codice seguente compila senza errori perché m_accessCount è stato dichiarato mutable e pertanto può essere modificato da GetFlag anche se GetFlag è una funzione membro const.
// mutable.cpp
class X
{
public:
bool GetFlag() const
{
m_accessCount++;
return m_flag;
}
private:
bool m_flag;
mutable int m_accessCount;
};
int main()
{
}