Why is Mutable keyword used
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
C++ 'mutable' keyword
1 2 3 4 5 6 7 8 9 10 11 12 | class student { mutable int rno; public: student(int r) { rno = r; } void getdata() const { rno = 90; } }; |
它允许您通过
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | class A { mutable int x; int y; public: void f1() { //"this" has type `A*` x = 1; // okay y = 1; // okay } void f2() const { //"this" has type `A const*` x = 1; // okay y = 1; // illegal, because f2 is const } }; |
使用
1 | rno = 90; |
因为声明为
除了
它在处理
在你的特殊情况下,它习惯于撒谎和欺骗。
1 | student s(10); |
你想要数据吗?当然,只需拨打
1 | s.getdata(); |
你以为你会得到数据,但实际上我将