先来看一个简单的有错误的程序:
#include <iostream>
using namespace std;
class A
{
int x;
public:
void fun() const
{
x = 100; // error
}
};
int main()
{
A a;
a.fun();
return 0;
}
如果const类型的fun函数一定要修改x, 那该怎么办呢? 如下即可:
#include <iostream>
using namespace std;
class A
{
mutable int x;
public:
void fun() const
{
x = 100; // ok
}
};
int main()
{
A a;
a.fun();
return 0;
}