温馨提示×

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

c++
小樊
84
2024-08-18 05:35:35
栏目: 编程语言

在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的值。

0