C++:mutable关键字
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关键字相关推荐
- 深入理解C++中的mutable关键字
深入理解C++中的mutable关键字 mutalbe的中文意思是"可变的,易变的",跟constant(既C++中的const)是反义词. 在C++中,mutable也是为了突破 ...
- C++中的mutable关键字
mutalbe的中文意思是"可变的,易变的",跟constant(既C++中的const)是反义词. 在C++中,mutable也是为了突破const的限制而设置的.被mutabl ...
- const、volatile、mutable关键字
const关键字 变量宏方面: const 修饰变量:常量非指针类型,非指针常量类型并没有什么区别. const修饰指针:常量指针:是指针不过指向的是常量可以进行p++操作不能进行*p操作:指针 ...
- 除了允许变量被const函数修改之外,'mutable'关键字是否有任何其他用途?
前段时间我遇到了一些用<code>mutable关键字标记类的成员变量的代码. 据我所知,它只是允许你修改const方法中的变量: class Foo { private: mutable ...
- C++基础::mutable 关键字
一个类内只要有 mutable 关键字,就一定会有 const 关键字,否则无 mutable 存在的意义,mutable 是对 const 条件的放松,就好比类内的友元可以访问私有成员变量一样.但反 ...
- 为什么用const保护了成员变量,还要再定义一个mutable关键字来突破const的封锁线?
为什么用const保护了成员变量,还要再定义一个mutable关键字来突破const的封锁线? 保护类的成员变量不在成员函数中被修改,是为了保证模型的逻辑正确,通过用const关键字来避免在函数中错误 ...
- 【C++入门】const和mutable关键字、常函数介绍
1.常函数介绍 1.1.什么是常函数 (1)常函数的定义:类的成员函数对类中任何成员不作修改而只能作访问的函数:简单来说,就是调用类的成员函数不会对类做任何修改: (2)常函数的实现:常函数是依靠co ...
- const和mutable关键字
const修饰变量表示改变量内容不可修改,在类中,const还可以修饰成员函数,修饰成员函数后就不可以更改成员变量了. 可以看出,this指针是const*const类型,既不可以修改其内容,也不能修 ...
- 【C/C++ 关键字 存储类说明符】C/C++ 的mutable 关键字 忽略对该数据成员的常量性检查在const函数中修改变量值
这里写目录标题 1. 引言 1.1 mutable关键字的简介 2. mutable关键字的设计意图 (The Design Intent of the mutable Keyword) 2.1 为什 ...
最新文章
- Python标准库——collections模块的Counter类
- Nginx+lua 实现调用.so文件方法
- 控件属性、事件持久化
- php mysqli还原数据库,PHP mysqli操作数据库
- arcengine 加载地图不显示_用LSV下载城市地图、全省地图教程
- leetcode9 回文数
- java forkjoin 简书_浅谈Java的Fork/Join并发框架
- NodeBlog v0.1.0发布
- php重定向error,将nginx错误重定向到php
- shell foreach 拼接字符串_FIND_IN_SET 及IN 处理逗号间隔的字符串参数
- python属于什么专业类别-关于python:1D CNN用于分类
- 卡通图像变形算法(Moving Least Squares)附源码
- Java 面向接口编程
- 不翻墙 轻松打开github
- 删除win10添加的网络位置
- 使用 istringtream 注意其状态
- DB-数据库基本概念(一)
- 如何计算 R 语言中的 Z 分数
- IT:前端进阶技术路线图(初级→中级→高级)之初级(研发工具/HTML/CSS/JS/浏览器)/中级(研发链路/工程化/库/框架/性能优化/工作原理)/高级(搭建/中后台/体验管理等)之详细攻略
- 计算机控制机床系统设计,数控机床控制系统的研究、开发研析
热门文章
- gem install 和 bundle 区别
- 主题:Hibernate/Spring/Struts架构使用OpenSessionInView的问题
- IPV6 IPV4双栈互通与静态路由
- Tell me why -- Declan Galbraith
- 山西计算机应用基本技能,计算机应用基本技能 山西省对口高考题库
- java中关于重写的说法_Java中有关“重载”和“重写”的说法正确的是()
- web项目里看不到html,在webpack中导入html文件时找不到模块错误
- java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)
- Matlab优化求解器中的Tolerances and Stopping Criteria
- 算法提高 高精度乘法(java)