0

我应该覆盖哪些运算符以便比较两个向量?

如果我有一个

vector<Object>

是否足以覆盖 Object 的 == 运算符?

谢谢

4

2 回答 2

4

vector 的 operator == 实际上比较内容是否相等,在该比较中,将调用 "Object" 的 operator == ,这就是您要根据要实现的逻辑定义的运算符。

于 2013-06-04T15:41:20.807 回答
2

为了方便起见,您可能还想实现bool operator==(const Object &lhs, const Object &rhs)and operator!=,它在实现中将返回与operator==.

当您提供一个时,我认为最好同时提供两个,否则您的代码的客户(其他开发人员)可能会在不需要的地方感到困惑。编写一个运算符调用另一个运算符可以让您更轻松地进行维护。

于 2013-06-04T15:41:06.407 回答