c++中mutable关键字的作用是什么

avatar
作者
猴君
阅读量:0

在C++中,mutable关键字被用于修饰类的成员变量。mutable关键字的作用是允许该成员变量在const成员函数中被修改,即使在该函数中不能修改其他成员变量。

通常情况下,const成员函数不允许修改类的成员变量,因为const成员函数被视为不会对对象的状态产生任何影响。然而,有时候有些成员变量可能需要在const成员函数中被修改,例如在缓存值的情况下。这时候可以使用mutable关键字来修饰这些成员变量,以允许在const成员函数中修改它们。

下面是一个示例代码:

class Example { public:     int getValue() const {         // 在const成员函数中修改mutable变量         counter++;         return value;     }  private:     int value;     mutable int counter; // 使用mutable关键字修饰 }; 

在上面的代码中,counter被标记为mutable,因此它可以在const成员函数getValue()中被修改。而value没有被标记为mutable,因此在const成员函数中不能修改它。

广告一刻

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