Modyfikowalne elementy członkowskie danych (C++)
To słowo kluczowe można stosować tylko do niestatycznych i innych niż stałych elementów członkowskich danych klasy.Jeśli element członkowski danych jest zadeklarowany jako mutable, legalne jest przypisane wartości do tego elementu członkowskiego danych z składowej funkcji const.
mutable member-variable-declaration;
Uwagi
Na przykład, poniższy kod zostanie skompilowany bez błędów, ponieważ m_accessCount zostały zadeklarowany jako mutable i może być zmodyfikowany przez GetFlag, nawet jeśli GetFlag jest stałym elementem członkowskim funkcji.
// mutable.cpp
class X
{
public:
bool GetFlag() const
{
m_accessCount++;
return m_flag;
}
private:
bool m_flag;
mutable int m_accessCount;
};
int main()
{
}