源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c++关键字mutable深入解析

  • 时间:2020-07-24 23:32 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c++关键字mutable深入解析
[b]1、关于mutable关键字 [/b]先说用法,mutable关键字只能修饰非静态以及非常量成员变量,使用mutable修饰的成员变量在const函数中的值是可以修改的。 [b]比如说下面的代码: [/b]
[u]复制代码[/u] 代码如下:
class Demo { public :     Demo() {}     ~Demo() {} public :    bool getFlag()const     {         m_nAccess++;        return m_bFlag;     } private :    int m_nAccess;    bool m_bFlag; }; int main() {    return 0 ; }
编译的时候会报错,因为const成员函数修改了成员变量,但是如果声明m_nAccess的时候加上关键字mutable就可以了。 [b]PS:[/b]一个对象的状态由该对象的非静态数据 成员决定,所以随着数据成员的改变, 对像的状态也会随之发生变化! 如果一个类的成员函数被声明为const类型,表示该函数不会改变对象的状态,也就是该函数不会修改类的非静态数据成员.但是有些时候需要在该类函数中对类的数据成员进行赋值.这个时候就需要用到mutable关键字了。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部