我们可以传递一个函数作为 <
(less) 运算符到 STL 数据结构,例如 set
, multiset
, map
, priority_queue
, ...
如果我们的函数像<=
那样有问题吗? (less_equal)?
最佳答案
是的,有问题。
形式上,比较函数必须定义一个严格的弱排序,并且<=
不会那样做。
更具体地说,<
也用于确定等价性( x
和 y
等价于 !(x < y) && !(y < x)
)。这不适用于 <=
(使用该运算符会让你的集合相信对象从不是等价的)
关于c++ - less 或 less_equal 使用 set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10371896/