mutable关键字在C++类中如何应用

avatar
作者
猴君
阅读量: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的值。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!