C++ mutable关键字
来源:互联网 发布:大智慧mac版使用教程 编辑:程序博客网 时间:2024/06/15 15:59
引言:对于类的成员函数来说,如果它不修改类的状态,一般将其声明为const函数. 但是如果我们想在类的const成员函数中修改与类的状态无关的成员变量,那么该怎么做呢?答案是使用mutable关键字。
mutable关键字是为了突破const关键字的限制而引入的,修饰一个成员变量,表示这个成员变量在const函数中也是可以被修改的。mutable关键字只能修饰类的非静态和非常量的成员变量,即不能与static和const连用。
示例如下:
class Test{public: Test() : mValue(0) { } inline void Output() const //仅用于输出并不会修改类的状态,但会修改非状态成员变量. { mValue++; cout << "Output the object: " << this << endl; } inline void GetOutputTimes() const { return mValue; }private: mutable int mValue;//表示类对象输出的次数.};
在以上代码段中,const类型的成员函数Output()会修改成员变量mValue。如果不将mValue声明为mutable类型是不行的。
int main(){ Test* pObj = new Test(); pObj->Output(); pObj->Output(); cout << pObj->GetOutputTimes() << endl;//输出2. return 0;}
0 0
- 关键字 mutable (c++)
- 关键字 mutable (c++)
- 关键字 mutable (c++)
- 关键字 mutable (c++)
- 关键字 mutable (c++)
- 关键字 mutable (c++)
- 关键字mutable(C++)使用
- 关键字 mutable (c++)
- c++关键字mutable
- c++关键字mutable
- C/C++之mutable关键字详解
- C++—volatile、explicit、mutable关键字
- 关键字:mutable
- 关键字mutable
- mutable 关键字
- mutable关键字
- mutable关键字
- mutable关键字
- 人脸检测(三)
- Medical Image Segmentation Using New Hybrid Level-Set Method
- 给出01数组计算出符合岛屿规则的个数 [牛客网-滴滴出行2017春招算法工程师笔试题B卷 ]
- Docker镜像存储相关数据结构
- C语言二维数组作为形参传值问题
- C++ mutable关键字
- php程序员的发展路线
- HDU 6029 Graph Theory
- 补作业 5-4
- 【计算机视觉】双目视觉1 opencv调用双摄像机 多个摄像机
- 十大经典算法之Apriori
- Java语言计算器界面实现
- UVa1586
- 第十届省赛 B题.情报传递