问题描述
在 C++20 中,如果我们使用默认的 >>> df
ColumnA ColumB
0 Rick 1,2,3
1 Tim 4,5,6,7,8
,那么所有其他比较运算符也会被添加。
在代码中,该类有两个整数,因此要进行比较,需要用户定义的比较。但由于相等运算符将自动生成,我需要知道它将如何比较对象。如果存在复合类型会发生什么。
<=>
解决方法
任何类型的所有默认比较运算符都以相同的方式工作。它们按照声明顺序一个接一个地比较所有子对象(基类和成员),直到确定比较标准。
所以对于相等性测试,它先测试 Point::x
,然后是 Point::y
。但如果 x
不相等,它将在 x
处停止。