重载!= as ==否定

时间:2017-06-27 16:01:44

标签: c++ operator-overloading

我有一段代码实现了==重载。我不得不在某个否定的地方使用它。但是对于读者来说,写!(A == B)似乎并不是很清楚。所以我实现了这个双重重载。这样做有什么缺点吗?效率明智吗?:

struct Foo{
  bool operator==(const Foo& other) const{
      .... //Something that sometimes produces "return false"
      return true;
  }
  bool operator!=(const Foo& other) const{
      return !(*this == other);
  }
}

加分:为什么编译器尚未使用!=的否定默认实现==

0 个答案:

没有答案