我应该覆盖哪些运算符,以便我可以比较两个向量?
如果我有
vector<Object>
是否足以覆盖Object的<=运算符?
由于
答案 0 :(得分:4)
vector == of vector实际上比较了内容是否相等,在该比较中,将调用operator == of“Object”,这是你想要根据你想要实现的逻辑定义的运算符。
答案 1 :(得分:2)
为方便起见,您可能还希望实现bool operator==(const Object &lhs, const Object &rhs)
和operator!=
,这在实现中将返回operator==
的反面。
当你提供一个时,我认为最好同时提供这两个,否则你的代码的客户(其他开发人员)可能会在没有必要的地方混淆。写一个操作员调用另一个操作员可以让您更容易维护。