可变数据成员 (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;
};
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈