本文主要是介绍std::sort strict weak ordering,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
std::sort strict weak ordering严格的弱序,即小于语义;
在用std::sort的时候一定要注意比较函数:
1.用小于或者大于号;
2.如果两边相等应该return false;
3.或者不确定的比较也应该return false;
例如下面代码调试的时候会产生断言失败,relase环境下会造成crash,
去掉等号就可以了。
#include <algorithm>
#include <vector>
#include <iostream>int _tmain(int argc, _TCHAR* argv[])
{std::vector<int> vi;for (int i=0; i<100; i++) {vi.push_back(i);}vi.push_back(3);vi.push_back(6);vi.push_back(77);std::sort(vi.begin(), vi.end(), [](int left, int right) {return left <= right;});system("pause");return 0;
}
这篇关于std::sort strict weak ordering的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!