手机
当前位置:查字典教程网 >编程开发 >C语言 >c++关键字mutable深入解析
c++关键字mutable深入解析
摘要:1、关于mutable关键字先说用法,mutable关键字只能修饰非静态以及非常量成员变量,使用mutable修饰的成员变量在const函数...

1、关于mutable关键字

先说用法,mutable关键字只能修饰非静态以及非常量成员变量,使用mutable修饰的成员变量在const函数中的值是可以修改的。

比如说下面的代码:

复制代码 代码如下:

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就可以了。

PS:一个对象的状态由该对象的非静态数据 成员决定,所以随着数据成员的改变, 对像的状态也会随之发生变化! 如果一个类的成员函数被声明为const类型,表示该函数不会改变对象的状态,也就是该函数不会修改类的非静态数据成员.但是有些时候需要在该类函数中对类的数据成员进行赋值.这个时候就需要用到mutable关键字了。

【c++关键字mutable深入解析】相关文章:

C语言关键字auto与register的深入理解

C++中const的实现机制深入分析

C++ Explicit关键字详细解析

深入理解C++的多态性

快速模式匹配算法(KMP)的深入理解

C++中队列的建立与操作详细解析

C++实现strcmp字符串比较的深入探讨

C++中的对象数组详细解析

C/C++动态分配与释放内存的区别详细解析

C++函数参数取默认值的深入详解

精品推荐
分类导航