C++ Primer Plus 9.2.7 mutable
#include <iostream>using namespace std;struct data {int name[20];mutable int y;//mutable可以声明该变量虽然前面加了const,但是mutable的变量也可以修改, };int main() {const struct data cc={{1,2,3},1};cout<<"cc.name[0] = "<<cc.name[0]<<endl;cout<<"cc.y = "<<cc.y<<endl;cc.y++;cout<<"cc.y = "<<cc.y<<endl;cc.y++;cout<<"cc.y = "<<cc.y<<endl;}
输出结果是:
F:\untitled2\cmake-build-debug\untitled2.exe
cc.name[0] = 1
cc.y = 1
cc.y = 2
cc.y = 3
进程已结束,退出代码为 0
可以看到const定义的值被修改了