这是最佳实践(在这种情况下):
bool Foo::operator==(const Foo& other) {
return bar == other.bar;
}
// Implementation 1
bool Foo::operator!=(const Foo& other) {
return bar != other.bar
}
// Implementation 2
bool Foo::operator!=(const Foo& other) {
return !(*this == other);
}
对于像 >、<、<=、>= 这样的运算符,我会尽可能使用实现 2。但是,对于 != 我认为实现 1 更好,因为没有进行另一个方法调用,这是正确的吗?