可變動的資料成員 (C++)
此關鍵字只能套用於類別的非靜態、非常數和非參考資料成員。 如果資料成員宣告為 mutable
,則可從 const
成員函式指派值給這個資料成員。
語法
mutable member-variable-declaration;
備註
例如,以下程式碼編譯時不會出現錯誤,因為 m_accessCount
已宣告為 mutable
,因此即使 GetFlag
是常數成員函式,也可以被 GetFlag
修改。
// mutable.cpp
class X
{
public:
bool GetFlag() const
{
m_accessCount++;
return m_flag;
}
private:
bool m_flag;
mutable int m_accessCount;
};