在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成员函数中修改某些临时状态或者缓存值,而不会影响类的其他成员变量。