mutable的用法
mutable的意思是"可变的",和const的意思正好相反,其作用也是解除常函数无法修改成员变量的限制,因此mutable关键字的使用频率并不高
使用mutable需要注意的问题:
- mutable只能作用于类的非静态和非常量数据成员
- mutable关键字提示编译其该变量可以被类的const函数修改
mutable关键字的使用实例如下:
#include <iostream>
using namespace std;
class student
{
public:
mutable int score = 80;
int getScore();
void setScore() const;
};
int student::getScore()
{
return this->score++;
}
void student::setScore() const
{
this->score++;
}
int main()
{
student *s = new student;
cout << s->getScore() << endl;
s->setScore();
cout << s->getScore() << endl;
return 0;
}
程序运行结果如下:
80
82
文章内容来源:《C++高级进阶编程》(陈刚)