我的问题与this有关,因为我解决了问题,我编写了自己的排序算法(简单的插入排序),并且它有效。我对此感到非常惊讶,因为我认为标准库已经过充分测试。是否有任何已知的特殊情况std::sort
可能会搞乱?
答案 0 :(得分:6)
不,std::sort
的任何常见C ++标准库实现中都不存在任何已知错误。它经过了严格的测试。
如果您发现崩溃或结果不正确,几乎可以肯定,因为您没有遵守合同:要么传入了无效的参数,要么您的比较器不符合strict weak ordering的要求(反射性,不对称性,传递性和等价传递性。)
答案 1 :(得分:1)
如果您的比较函数/对象不遵循严格的弱排序,或者您正在排序的事物包含不再有效的指针,则其中任何一个都可能导致它破坏。