代码之家  ›  专栏  ›  技术社区  ›  Tim MB

平等对于类是自反的吗?(也就是说,实例总是与其自身相等吗?)

  •  0
  • Tim MB  · 技术社区  · 11 年前

    在C++中,对相等性的测试通常由每个类单独实现。在任何合理的实现下,人们都可能期望对象与自身相等。

    编译器是否进行了此优化?

    换句话说,如果 &a == &b ,是否允许编译器假设 a == b 对于类类型?

    2 回复  |  直到 11 年前
        1
  •  3
  •   Mike Seymour    11 年前

    否。类类型只能与 == 如果存在操作者的合适的用户定义的过载;而这种过载可以做任何事情,无论是“合理的”还是其他的。

        2
  •  3
  •   Henrik    11 年前

    一个反例是 NaN A. double 包含 硝酸钠 与自身相比并不相等。