个人技术分享

在实现类的过程中,我们经常将函数内部不去修改成员属性的函数设置为const,这样即安全,又可以给const的常量提供更多的函数可调用。

但是,我们在开发过程中,可以有下面需求:  希望成员函数为const,但是又想要在此函数中修改某些特定的成员属性。

我们知道const修饰的函数内部是不可以修改成员属性的,但是mutable关键字可以实现这样的功能。 --   在想要在const函数中修改的成员属性前加上mutable,这样就可以在const函数中进行修改了。 

mutable  译为:  可变。

代码1:    直接在const修饰的函数中修改属性 -- 会发现会出错,是不允许的。

 

代码2:我们希望在const的函数中可以修改属性score,那么我们就在此属性前加上mutable。-- 这样就不会报错了。