Mutable关键字
2016-02-23 20:32
393 查看
Mutable
(1)mutable的意思是“可变的,易变的”,跟C++中的const是反义词。
(2)在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中
显然i++在const修饰的函数里是编译通不过的。
在 int i 前面加上 mutable上面就能编译通过了,马上可以看出关键字mutable的作用了。
(1)mutable的意思是“可变的,易变的”,跟C++中的const是反义词。
(2)在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中
#include using namespace std; class TestMutable { public: TestMutable(){i=0;} int Output() const { return i++; //error C2166: l-value specifies const object } private: int i; }; int main() { TestMutable testMutable; cout<<testMutable.Output()<<endl; return 0; }
显然i++在const修饰的函数里是编译通不过的。
#include using namespace std; class TestMutable { public: TestMutable(){i=0;} int Output() const { return i++; } private: mutable int i; }; int main() { TestMutable testMutable; cout<<testMutable.Output()<<endl; return 0; }
在 int i 前面加上 mutable上面就能编译通过了,马上可以看出关键字mutable的作用了。
相关文章推荐
- 深入解析C++中的mutable关键字
- [C++_4]static_const_mutable
- 浅谈深复制和浅复制
- Explicit关键字
- template关键字
- ->的使用
- 【cin】练习
- C++学习笔记
- 深入理解C++中的mutable关键字(牛逼)
- 【C++学习】mutable关键字、volatile关键字
- The Java™ Tutorials — Concurrency :A Synchronized Class Example 一个同步类的例子
- C++中mutable学习
- c++-类的const
- const和mutable
- 十四、对象的使用(二)const成员函数、const对象、mutable
- C++中const、volatile、mutable用法小结
- C++中const、volatile、mutable的用法
- C++中const、volatile、mutable的用法
- mutable的用法
- 深入理解C++中的mutable关键字