Что является лучшей практикой (в данном случае):
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 лучше, поскольку другой вызов метода не выполняется, правильно ли это?