可變動的資料成員 (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;
};
int main()
{
}