您的位置:首页 > 其它

对前几天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)询问.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: