阅读量:0
在C++中,mutable关键字用于修饰类的成员变量,表示该变量可以在const成员函数中被修改。通常情况下,const成员函数是不能修改类的成员变量的,但如果某个成员变量被声明为mutable,则在const成员函数中可以修改这个变量的值。
下面是一个示例代码,演示了mutable关键字的使用方法:
class MyClass { public: MyClass(int value) : m_value(value) {} int getValue() const { m_counter++; // 在const成员函数中修改mutable变量 return m_value; } private: int m_value; mutable int m_counter = 0; // mutable变量 }; int main() { const MyClass obj(10); cout << obj.getValue() << endl; // 输出:10 cout << obj.getValue() << endl; // 输出:10 return 0; }
在上面的代码中,m_counter被声明为mutable,在const成员函数getValue()中可以修改它的值。因此,obj.getValue()可以被多次调用,每次调用都会增加m_counter的值。