可變動的資料成員 (C++)
此關鍵字只能套用至類別的非靜態和非常數的資料成員。如果在宣告資料成員mutable,那麼它就是合法指派值給這個資料成員,從 const 成員函式。
mutable member-variable-declaration;
備註
例如,下列程式碼會編譯不會發生錯誤,因為m_accessCount被宣告為mutable,所以因此可以用來修改GetFlag即使GetFlag是 const 的成員函式。
// mutable.cpp
class X
{
public:
bool GetFlag() const
{
m_accessCount++;
return m_flag;
}
private:
bool m_flag;
mutable int m_accessCount;
};
int main()
{
}