mutable 关键字 虽然很少看到 , 但其功能也是比较重要的 , 用mutable关键字修饰的变量  在程序的任何位置 都处于可变状态。

就算是在 const 函数中  其值也能被改变

例:

  

 1 class      Test
 2 {
 3 public:
 4                 Test(){a = 0;}
 5 public:
 6     mutable    int    a;
 7     void    func () const{
 8         a = 1000;
 9     }
10 };
11 int main(int argc, char* argv[])
12 {
13     Test    b;
14     b.func();
15     cout<<b.a<<endl;
16     return 0;
17 }
18
19 //// 运行后会输出 1000

转载于:https://www.cnblogs.com/wowk/archive/2013/06/08/3127060.html

C++:mutable关键字相关推荐

  1. 深入理解C++中的mutable关键字 ​

    深入理解C++中的mutable关键字 mutalbe的中文意思是"可变的,易变的",跟constant(既C++中的const)是反义词. 在C++中,mutable也是为了突破 ...

  2. C++中的mutable关键字

    mutalbe的中文意思是"可变的,易变的",跟constant(既C++中的const)是反义词. 在C++中,mutable也是为了突破const的限制而设置的.被mutabl ...

  3. const、volatile、mutable关键字

     const关键字 变量宏方面: const 修饰变量:常量非指针类型,非指针常量类型并没有什么区别. const修饰指针:常量指针:是指针不过指向的是常量可以进行p++操作不能进行*p操作:指针 ...

  4. 除了允许变量被const函数修改之外,'mutable'关键字是否有任何其他用途?

    前段时间我遇到了一些用<code>mutable关键字标记类的成员变量的代码. 据我所知,它只是允许你修改const方法中的变量: class Foo { private: mutable ...

  5. C++基础::mutable 关键字

    一个类内只要有 mutable 关键字,就一定会有 const 关键字,否则无 mutable 存在的意义,mutable 是对 const 条件的放松,就好比类内的友元可以访问私有成员变量一样.但反 ...

  6. 为什么用const保护了成员变量,还要再定义一个mutable关键字来突破const的封锁线?

    为什么用const保护了成员变量,还要再定义一个mutable关键字来突破const的封锁线? 保护类的成员变量不在成员函数中被修改,是为了保证模型的逻辑正确,通过用const关键字来避免在函数中错误 ...

  7. 【C++入门】const和mutable关键字、常函数介绍

    1.常函数介绍 1.1.什么是常函数 (1)常函数的定义:类的成员函数对类中任何成员不作修改而只能作访问的函数:简单来说,就是调用类的成员函数不会对类做任何修改: (2)常函数的实现:常函数是依靠co ...

  8. const和mutable关键字

    const修饰变量表示改变量内容不可修改,在类中,const还可以修饰成员函数,修饰成员函数后就不可以更改成员变量了. 可以看出,this指针是const*const类型,既不可以修改其内容,也不能修 ...

  9. 【C/C++ 关键字 存储类说明符】C/C++ 的mutable 关键字 忽略对该数据成员的常量性检查在const函数中修改变量值

    这里写目录标题 1. 引言 1.1 mutable关键字的简介 2. mutable关键字的设计意图 (The Design Intent of the mutable Keyword) 2.1 为什 ...

最新文章

  1. Python标准库——collections模块的Counter类
  2. Nginx+lua 实现调用.so文件方法
  3. 控件属性、事件持久化
  4. php mysqli还原数据库,PHP mysqli操作数据库
  5. arcengine 加载地图不显示_用LSV下载城市地图、全省地图教程
  6. leetcode9 回文数
  7. java forkjoin 简书_浅谈Java的Fork/Join并发框架
  8. NodeBlog v0.1.0发布
  9. php重定向error,将nginx错误重定向到php
  10. shell foreach 拼接字符串_FIND_IN_SET 及IN 处理逗号间隔的字符串参数
  11. python属于什么专业类别-关于python:1D CNN用于分类
  12. 卡通图像变形算法(Moving Least Squares)附源码
  13. Java 面向接口编程
  14. 不翻墙 轻松打开github
  15. 删除win10添加的网络位置
  16. 使用 istringtream 注意其状态
  17. DB-数据库基本概念(一)
  18. 如何计算 R 语言中的 Z 分数
  19. IT:前端进阶技术路线图(初级→中级→高级)之初级(研发工具/HTML/CSS/JS/浏览器)/中级(研发链路/工程化/库/框架/性能优化/工作原理)/高级(搭建/中后台/体验管理等)之详细攻略
  20. 计算机控制机床系统设计,数控机床控制系统的研究、开发研析

热门文章

  1. gem install 和 bundle 区别
  2. 主题:Hibernate/Spring/Struts架构使用OpenSessionInView的问题
  3. IPV6 IPV4双栈互通与静态路由
  4. Tell me why -- Declan Galbraith
  5. 山西计算机应用基本技能,计算机应用基本技能 山西省对口高考题库
  6. java中关于重写的说法_Java中有关“重载”和“重写”的说法正确的是()
  7. web项目里看不到html,在webpack中导入html文件时找不到模块错误
  8. java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)
  9. Matlab优化求解器中的Tolerances and Stopping Criteria
  10. 算法提高 高精度乘法(java)