既然我们在 C++20 中有 operator<=>,那么还需要 operator== 吗?

问题描述

我正在学习 C++20 中比较的工作原理,我正在努力理解一件事:既然 operator<=> 必须检查相等性,我们是否真的需要一个单独的 {{1} }?比如下面的检查:

operator==

可以(由编译器)重写为:

a == b

但是,它仍然会尝试调用 a.operator<=>(b) == 0 。弃用 operator== 而只使用 operator== 进行排序和相等不是更有意义吗?在一个类需要一些自定义排序的情况下,必须同时实现 operator<=>operator<=>,这为错误创造了额外的空间。是否有理由现在有两种方法来检查相等性

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)