在C++中,使用mutable
关键字可以修改类的成员变量,即使在const成员函数中也可以修改。下面是一个简单的示例:
#include <iostream>
class MyClass {
public:
void setNumber(int num) const {
// 使用mutable关键字修饰的成员变量可以在const成员函数中修改
mutableNumber = num;
}
void printNumber() const {
// 在const成员函数中访问和修改mutable成员变量
std::cout << "Mutable number: " << mutableNumber << std::endl;
}
private:
mutable int mutableNumber;
};
int main() {
MyClass obj;
obj.setNumber(10);
obj.printNumber();
return 0;
}
在上面的示例中,mutableNumber
被声明为mutable
,因此可以在const成员函数setNumber
中进行修改。在printNumber
函数中通过mutableNumber
访问并打印出修改后的值。