1. mutable
如果某个成员变量被申明为mutable,则它的修饰不受const限制。如在const成员函数中都可以修改它的值。
void Test::Output() const
{
cout << "Output for test!" << endl;
count++;
}
2. explicit
有时候看C++代码会出现 Test t1 = 100; 这样的语句,而且还不会报错。实际上,这条语句隐式地调用了 Test(int n)构造函数。这种奇怪的语句看起来很酷,但也增加了不经意出错的机会。如果不想让代码出现这种隐式调用,则可以使用explicit限定Test(int n),一旦限定后,再像上面的语句隐式调用这个构造函数就会报错。
explicit的用法
explicit Test(int n);