在C++中,mutable关键字被用于修饰类的成员变量,表示这些变量可以在const成员函数中被修改。通常情况下,const成员函数是不能修改类的成员变量的,但是如果某个成员变量被声明为mutable,那么在const成员函数中可以通过该变量进行修改。
下面是一个使用mutable关键字的简单示例:
#includeclass Example { public: int getValue() const { // 在const成员函数中修改mutable变量 m_counter++; return m_counter; } private: mutable int m_counter = 0; }; int main() { Example ex; std::cout << ex.getValue() << std::endl; // 输出1 std::cout << ex.getValue() << std::endl; // 输出2 return 0; }
在上面的示例中,类Example中的m_counter成员变量被声明为mutable,因此在getValue() const函数中可以对其进行修改。通过调用getValue()函数,每次输出的结果都会递增。这样就实现了在const成员函数中修改类的成员变量的功能。