mutable 关键字是用来解决常函数中不能修改对象的数据成员问题。
如果希望在某些情况下,希望在常函数中仍然可以修改某个成员变量的值,那么就在该成员变量的声明前面加上关键字mutable
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 class Student{ 5 private: 6 string name; 7 mutable int get_Name_sum; 8 public: 9 Student(char* name){ 10 this->name = name; 11 get_Name_sum = 0; 12 } 13 string getName()const{ 14 get_Name_sum++; 15 return name; 16 } 17 int getSum()const{ 18 return get_Name_sum; 19 } 20 21 }; 22 int main(){ 23 Student s =Student("Billy"); 24 cout<<s.getName()<<endl; 25 cout<<s.getName()<<endl; 26 cout<<s.getSum()<<endl; 27 }