您可以将 std::less_equal 与 std::sort 一起使用,即使它不是严格的弱排序?

问题描述 投票:0回答:1

来自 http://stdcxx.apache.org/doc/stdlibref/less-equal.html

您可以将
less_equal
对象传递给任何需要二元函数的算法。例如,
sort()
算法可以接受二元函数作为替代比较对象来对序列进行排序。
less_equal
将按以下方式在该算法中使用:
vector<int> vec1;
sort(vec1.begin(), vec1.end(), less_equal<int>());

现在我很困惑,上面的文档正确吗?

c++ stl equality equivalence strict-weak-ordering
1个回答
8
投票

你是对的,

std::sort
要求比较器定义严格的弱排序。

这意味着

std::less_equal
不应与
std::sort
一起使用。不过,它仍然可以与许多其他标准算法一起使用,这些算法采用二进制函数并且没有严格的弱排序要求。

© www.soinside.com 2019 - 2024. All rights reserved.