问题描述
我正在学习 C++20 中比较的工作原理,我正在努力理解一件事:既然 operator<=>
必须检查相等性,我们是否真的需要一个单独的 {{1} }?比如下面的检查:
operator==
可以(由编译器)重写为:
a == b
但是,它仍然会尝试调用 a.operator<=>(b) == 0
。弃用 operator==
而只使用 operator==
进行排序和相等不是更有意义吗?在一个类需要一些自定义排序的情况下,必须同时实现 operator<=>
和 operator<=>
,这为错误创造了额外的空间。是否有理由现在有两种方法来检查相等性?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)