对前几天STL的bug问题解释
2005-04-18 16:21
267 查看
http://blog.csdn.net/yjgx007/archive/2005/04/08/340381.aspx
在STL中, 为sort函数传入的比较函数(或函数对象), 必需遵守:
比较函数(或函数对象)必须在它们所比较的元素上定义一个“严格的弱序化(strict weak ordering), 在STL 条款 21(http://www.csdn.com.cn/program/6533.htm)对此进一步解释就是:
......要避免掉入这个陷阱,你所要记住的就是比较函数的返回值表明的是在此函数定义的排序方式下,一个值是否大于另一个。相等的值绝不该一个大于另一个,所以比较函数总应该对相等的值返回false......
......是的, 这个细节是如此的重要.
曾经以为这是STL泛排序函数sort的一个bug, 见:
http://community.csdn.net/Expert/topic/3920/3920955.xml?temp=5.440921E-02
还专门到csdn(http://community.csdn.net/Expert/TopicView.asp?id=3920955)和codeproject(http://www.codeproject.com/script/comments/forums.asp?msg=1082759&forumid=4486#xx1084020xx)询问.
在STL中, 为sort函数传入的比较函数(或函数对象), 必需遵守:
比较函数(或函数对象)必须在它们所比较的元素上定义一个“严格的弱序化(strict weak ordering), 在STL 条款 21(http://www.csdn.com.cn/program/6533.htm)对此进一步解释就是:
......要避免掉入这个陷阱,你所要记住的就是比较函数的返回值表明的是在此函数定义的排序方式下,一个值是否大于另一个。相等的值绝不该一个大于另一个,所以比较函数总应该对相等的值返回false......
......是的, 这个细节是如此的重要.
曾经以为这是STL泛排序函数sort的一个bug, 见:
http://community.csdn.net/Expert/topic/3920/3920955.xml?temp=5.440921E-02
还专门到csdn(http://community.csdn.net/Expert/TopicView.asp?id=3920955)和codeproject(http://www.codeproject.com/script/comments/forums.asp?msg=1082759&forumid=4486#xx1084020xx)询问.
相关文章推荐
- [技术讨论]关于前几天发布的京东bug上的问题分析
- 今天遇到一个关于STL中排序的问题, 怀疑是sort的bug!
- vc6.0 中stl存在的问题 bug
- [技术讨论]关于前几天公布的京东bug上的问题分析
- 今天工作中发现一个问题,看算不算BUG,如何解释这种现象。
- STL——全排列问题
- 1/20集训一 STL D. (stack 火车进站问题) Train Problem I
- STL——全排列问题
- HQWEB项目的问题和解释
- 文件路径问题引起的BUG
- c++初学者(首先请大神解释个问题,不大明白)
- STL之set具体解释(二)
- 三扇门问题--巴西世界杯的解释
- Keil C51汉字显示的bug问题
- STL系列之deque双向队列的问题
- STL 库中的陷阱----一个难以察觉的 bug
- Cocos2d-x android项目移植——各类bug及常见问题解决方案全集
- LR_问题_平均响应时间解释,summary与analysis不一致
- C#分布式事务隔离级别问题?如何解释不同的隔离级别,结合案例。
- TensorFlow官方文档解释关于TensorFlow的一些常见问题