對前幾天STL的bug問題解釋

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)詢問.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章