温馨提示×

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

c++
小亿
147
2023-12-07 12:29:25
栏目: 编程语言

在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成员函数中不能修改它。

0