C++提供的关键字mutable是易变,可变的意思,它是为突变const限制而设置的,那如何使用它呢,接下来将结合两个应用场景来说明,以便能够更好的理解和使用mutable关键字
工具/原料
C++
方法/步骤
1
通常类的获取函数都会设置const,为了防止成员变量被修改
2
假设现在需要统计获取函数被调用的次数,需要在获取函数添加累加计数,但是由于获取函数被const修饰,无法对成员变量进行修改,会导致编译不通过
3
这时候可以对类的成员变量添加关键字mutable来解决上一个步骤的问题
4
调试运行的结果如下,添加的成员变量可以在const函数中被修改,并使用来进行统计
5
mutable的另一个比较常用的场景就是多线程环境下的锁,首先定义私有的成员变量mutex, 然后在获取函数中使用该锁来保证同步性
6
但是编译的过程中,就会报如下所示的错误
7
那么只要将成员变量mutex前面添加mutable进行修改就可以解决
8
最后再进行编译就能够通过,运行后输出正常的打印信息
注意事项
1
喜欢经验欢迎点赞投票!
上一篇:黑色沙漠柯扎卡祭坛位置介绍
下一篇:DNF布莱斯的艾克洛索任务怎么做