当前位置:  编程技术>c/c++/嵌入式

c++关键字mutable深入解析

    来源: 互联网  发布时间:2014-10-20

    本文导语:  1、关于mutable关键字先说用法,mutable关键字只能修饰非静态以及非常量成员变量,使用mutable修饰的成员变量在const函数中的值是可以修改的。比如说下面的代码: 代码如下:class Demo{public :    Demo() {}    ~Demo() {}public :   bool g...

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++模板(template)中的class和typename关键字异同比较
  • 深入理解C++中常见的关键字含义
  • 探讨register关键字在c语言和c++中的差异
  • 从汇编看c++中extern关键字的使用
  • C++常对象精讲_const关键字的用法
  • 从汇编看c++中函数里面的static关键字的使用说明
  • 深入解析C++中的mutable关键字
  • 深入C++中inline关键字的使用
  • C++ Explicit关键字详细解析
  • C++ explicit关键字的应用方法详细讲解
  • C++的static关键字及变量存储位置总结
  • C++ 关键字 inline详细介绍
  • 深入分析C++中几个最不常用的关键字
  • 深入理解c++中virtual关键字
  • C++中关键字Struct和Class的区别
  • C++关键字typename的深入理解
  • 关于C++中的static关键字的总结
  • java之super关键字用法实例解析
  • java之static关键字用法实例解析
  • java中的常见关键字解析
  • C# Dynamic关键字之:解析dynamic就是Object
  • 深入解析Java中volatile关键字的作用
  • SQL语句的各个关键字的解析过程详细总结
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 深入理解C# abstract和virtual关键字
  • 深入探讨C#中的const、readonly关键字
  • 深入理解c# checked unchecked 关键字
  • C语言关键字auto与register的深入理解
  • 深入理解java中的synchronized关键字
  • 深入多线程之:内存栅栏与volatile关键字的使用分析
  • linux下grep命令实现查找多个关键字(与关系和或关系)
  • c#中this关键字与base关键字使用方法
  • c#访问this关键字和base关键字示例
  • 在JBuilder中,为什么编写的代码中,当代码出现关键字时,后面的部分代码就移位了,当在有关键字的那些代码行进行选择时,也会出现鼠标位
  • java 中的static关键字和final关键字的不同之处
  • this关键字如何使用?
  • transient 关键字有什么用途
  • 如何在压缩文件下搜索关键字。求命令
  • 在下面这段代码中,如果对init方法只加synchronized关键字,则不能达到互斥的目的,还要再加上static关键字才能互斥,为什么?
  • Linux字符模式下,有没有支持源码关键字的软件?
  • const是关键字?怎么用?
  • 到底true和false 是不是关键字?
  • shell下面如何获取某个关键字后面的6位字符?
  • 如果忘了某个系统调用函数,比如只记得函数名的几个关键字,如何查?
  • jsp中插入有主关键字的数据库的sql语句如何写???
  • vi中编写c程序,如何让关键字显示不同颜色
  • 用emacs 编c/c++怎样让关键字显示不同的颜色
  • 关于gcc关键字
  • 怎么用grep在文件中查找包含两个关键字其中任一个的行?
  • 模块编程中程序不识别_func_关键字
  • 网页关键字过滤问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3