mutable关键字一般在C++的类中使用,表示可变数据成员。可变数据成员可以在类的const成员函数中被修改。
1 类的const成员函数
类的const成员函数不能修改类的成员变量,声明const成员函数的方法是在函数的小括号之后加入const修饰符。
class A
{
public:
int i{ 0 };
void func()const {
}
};
其中,func是类A的const成员函数。如果在func()函数中修改i的值,
void func()const {
i++;
}
因为在func()函数中修改了i的值,所以会报错,报错信息为“error C3490: 由于正在通过常量对象访问“i”,因此无法对其进行修改”。
2 类的mutable变量
将变量i用mutable修饰,则此时可以在func()函数中修改i的值。