摘要:
在下面的代码中a1调用const版本,a2调用非const版本。 const a a1;
a a2;
a1.x();
a2.x(); 后面加const表示在该函数中不能对类的数据成员进行改变,比如: class A
{
private: int aa;
public: int x()
{ return aa++;
} //这可以
int x() const
{
return aa++;//这错误
}
};
当然有特殊情况,就是用mutable关键字修饰过的成员变量可以在声明为const 函数中被改变。
关于mutable: 关键字mutable是C++中一个不常用的关键字,他只能... 阅读全文