比如下面這個例子:
#include
using namespace std;
class Test
{
public:
Test();
int value() const;
private:
mutable int v;
};
Test::Test()
{
v = 1;
}
int Test::value() const
{
v++;
return v;
}
int main()
{
Test A;
cout << A.value() << endl;
return 0;
}
甚至於當 A 這個變量被聲明 const 類型時 A.v 還是可以改變的。比如下面的代碼。
int main()
{
const Test A;
cout << A.value() << endl;
return 0;
}
相對來說,mutable 這個關鍵字用的地方不多。了解這些也就夠了。