多语言展示
当前在线:1435今日阅读:23今日分享:25

如何使用mutable关键字

C++提供的关键字mutable是易变,可变的意思,它是为突变const限制而设置的,那如何使用它呢,接下来将结合两个应用场景来说明,以便能够更好的理解和使用mutable关键字
工具/原料

C++

方法/步骤
1

通常类的获取函数都会设置const,为了防止成员变量被修改

2

假设现在需要统计获取函数被调用的次数,需要在获取函数添加累加计数,但是由于获取函数被const修饰,无法对成员变量进行修改,会导致编译不通过

3

这时候可以对类的成员变量添加关键字mutable来解决上一个步骤的问题

4

调试运行的结果如下,添加的成员变量可以在const函数中被修改,并使用来进行统计

5

mutable的另一个比较常用的场景就是多线程环境下的锁,首先定义私有的成员变量mutex, 然后在获取函数中使用该锁来保证同步性

6

但是编译的过程中,就会报如下所示的错误

7

那么只要将成员变量mutex前面添加mutable进行修改就可以解决

8

最后再进行编译就能够通过,运行后输出正常的打印信息

注意事项
1

喜欢经验欢迎点赞投票!

推荐信息