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

时间:2013-06-04 15:31:04

标签: c++

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

如果我有

vector<Object>

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

由于

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

为方便起见,您可能还希望实现bool operator==(const Object &lhs, const Object &rhs)operator!=,这在实现中将返回operator==的反面。

当你提供一个时,我认为最好同时提供这两个,否则你的代码的客户(其他开发人员)可能会在没有必要的地方混淆。写一个操作员调用另一个操作员可以让您更容易维护。