温馨提示×

mutable关键字在C++中如何实现常量成员函数的修改能力

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

在C++中,使用mutable关键字可以实现常量成员函数的修改能力。当一个成员函数被声明为const时,表示该函数不能修改类的任何成员变量。但是如果某个成员变量被声明为mutable,则即使在const成员函数中也可以修改这个成员变量的值。

例如:

class Example {
public:
    void setValue(int value) const {
        m_value = value; // Error: m_value is not mutable
    }
    
    int getValue() const {
        return m_value;
    }

private:
    mutable int m_value;
};

在上面的代码中,m_value被声明为mutable,所以即使在const成员函数中也可以修改它的值。这样就可以在const成员函数中修改某些临时状态或者缓存值,而不会影响类的其他成员变量。

0