【发布时间】:2014-09-28 08:45:32
【问题描述】:
class Test
{
public:
int v;
Test(int s)
{
v = s;
}
bool operator < (const Test & b) const
{
return v < b.v;
}
};
int main()
{
set <Test> t2;
return 0;
}
当我重载 less 运算符时,为什么必须使用 const 函数?如果我不在那里写“const”,它就不会通过编译。所以我不知道为什么我必须在那里写“const”?
【问题讨论】:
-
因为在比较的时候修改对象是没有意义的。
标签: c++ stl set operator-overloading