最近看到一段代码
bool operator < (const xx&x) const{...}
这是将运算符重载,
请问参数表列后加了一个const是什么意思?
两个const参数中的那个说明参数本身是常量,不能修改。后面那个表示,这个函数不会修改任何对象实例中的成员。
举例
class A
{
int x;
public: void foo() const { /* x = 1; */ }
public: void bar() { x = 1; }
};
int main()
{ }
去掉注释,则编译不通过,原因,常成员函数不能修改成员变量