【发布时间】:2013-05-25 08:23:30
【问题描述】:
来自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>());
--
现在我很困惑,上面的文档是否正确?
【问题讨论】:
-
您可以使用自定义比较器对其进行排序。
-
@chris 你确定吗?我认为如果比较器不是严格的弱顺序,结果可能是不确定的
-
您是否尝试过向向量添加一些相等的值,然后对其进行排序?通常那是发生断言/异常的时候。你可以传递任何你想要的作为空向量的比较器,因为它永远不会被使用。
-
@RetiredNinja 基于测试的开发是可以的,但是知道正确的行为更好,毕竟可以测试的东西就这么多。
-
@RetiredNinja:是什么让你认为如果失败会得到断言或异常?
标签: c++ stl equality equivalence strict-weak-ordering