mutable的用法

mutable的用法

mutable的意思是"可变的",和const的意思正好相反,其作用也是解除常函数无法修改成员变量的限制,因此mutable关键字的使用频率并不高

使用mutable需要注意的问题:

  1. mutable只能作用于类的非静态和非常量数据成员
  2. mutable关键字提示编译其该变量可以被类的const函数修改

mutable关键字的使用实例如下:

#include 
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++高级进阶编程》(陈刚)

你可能感兴趣的:(C/C++,c++,const,mutable)