阅读量:0
在C++中,使用mutable关键字可以实现常量成员函数的修改能力。当一个成员函数被声明为const时,表示该函数不能修改类的任何成员变量。但是如果某个成员变量被声明为mutable,则即使在const成员函数中也可以修改这个成员变量的值。
例如:
class Example { public: void setValue(int value) const { m_value = value; // Error: m_value is not mutable } int getValue() const { return m_value; } private: mutable int m_value; };
在上面的代码中,m_value被声明为mutable,所以即使在const成员函数中也可以修改它的值。这样就可以在const成员函数中修改某些临时状态或者缓存值,而不会影响类的其他成员变量。