为了比较两个向量,我应该覆盖哪些运算符



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

如果有

vector<Object>

是否足以覆盖对象的==操作符?

谢谢

vector的操作符==实际上是比较内容是否相等,在比较中,将调用"Object"的操作符==,这是您想要定义的操作符,这取决于您想要实现的逻辑。

为了方便,您可能还想实现bool operator==(const Object &lhs, const Object &rhs)operator!=,它们在实现中将返回与operator==相反的结果。

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

最新更新