mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词;在C++中,mutable是为了突破const的限制而设置的。
mutable只能用于修饰类的非静态数据成员。
被mutable修饰的变量,将永远处于可变的状态,也就是说此变量可在一个const函数中被修改。
当类的成员函数被声明为const,则它不会改变对象的状态;但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,那么这个数据成员就应该被mutalbe来修饰。
CODE: