可以用大于,这样是从大到小排,但肯定不能是等于、大于等于、小于等于...[/quote]
对啊,我也知道不能用任何有等于的返回,关键问题是为什么不行?知其然要知其所以然[/quote]
用小于可以实现等于: 若 !(a<b) && !(b<a) 则 a==b 。
同时,stl 一般要求的 < 与 == 需要满足以下条件:
a < b && b < c 可以推出 a < c
a == a 恒为 true
a == b && b == c 可以推出 a == c
满足以上条件的关系,用 < 可以实现其它所有的关系运算
标准选择了小于作为关系运算的基础,使用小于实现其它关系。满足以上条件的其它关系也可以。
(使用其它关系为基础,各个不同关系的实现方式会不同)
stl 的实现的时候基于以上假设,如果提供的关系不满足以上假设,就有可能出错。
可以用大于,这样是从大到小排,但肯定不能是等于、大于等于、小于等于...[/quote]
对啊,我也知道不能用任何有等于的返回,关键问题是为什么不行?知其然要知其所以然[/quote]
用小于可以实现等于: 若 !(a<b) && !(b<a) 则 a==b 。
同时,stl 一般要求的 < 与 == 需要满足以下条件:
a < b && b < c 可以推出 a < c
a == a 恒为 true
a == b && b == c 可以推出 a == c
满足以上条件的关系,用 < 可以实现其它所有的关系运算
标准选择了小于作为关系运算的基础,使用小于实现其它关系。满足以上条件的其它关系也可以。
(使用其它关系为基础,各个不同关系的实现方式会不同)
stl 的实现的时候基于以上假设,如果提供的关系不满足以上假设,就有可能出错。[/quote]
谢啦,这才是我要的答案。。。