由于非自反性和传递性,operator< 总是满足偏序的定义。严格弱序的定义更加严格,全序的定义更加严格。
而且我还阅读了文档中严格弱排序的定义:StrictWeakOrdering
前三个公理,非自反性、反对称性和传递性,是偏序的定义;等价的传递性是严格弱排序的定义所要求的。全序是满足更严格条件的排序:等价必须与等价相同。
我不太确定这些定义。一些主要问题:
1.偏序是否隐含地定义了等价?
2.严格弱排序和全排序呢?
3.STL在排序算法中要求严格的弱排序,为什么不是偏序或全序? 对于这个问题,我已经阅读了一些教科书,这些教科书通过证明规则满足三个公理来证明有效的比较规则:非自反性、反对称性、传递性,这是偏序的定义,并且文档中提到 operator< 总是满足这个定义,所以为什么我们不能只使用偏序比较对象,或者等效地,使用运算符