我问我 std::sort 和 std::is_sorted 中的 cmp 函数是如何定义的。
这是 is_sorted_until 的两个文档,怎么说它应该是 operator< :
en.cppreference.com cplusplus.com
但我认为平等元素应该有问题。列表 {1,1,1} 不应排序,因为 1<1==false。但是有一个例子说:
...
int *sorted_end = std::is_sorted_until(nums, nums + N);
...
1 1 4 9 5 3 : 4 个初始排序元素
但如果 < 像记录的那样使用,那应该返回 1。
它可以与 <= 一起使用,但这不是记录的方式。
我真的很困惑。