常量对象中大部分数据成员仍然是“只读”的情况下,实现对个别数据成员的修改使用场景:当你有一个const成员函数需要访问某个成员变量,但这个成员变量的值需要在函数调用期间更新时
class UserInfo {
private:
const int a1;
public:
mutable int age = 0;
void setAge(int i) const {
//没有 mutable 会编译报错:Cannot assign to non-static data member within const member function 'setAge'
age = i;
// a1 = 100;//const 不能赋值
}
void setAge2(int i) {
age = i;
}
};