std::sort要求strict weak ordering
2016-01-07 22:31
399 查看
strict weak ordering简单地说就是小于语义,非小于等于语义,也就是说对于相等的或者异常的元素比较应当返回false
后果很严重,在google搜一下violating strict weak ordering make std::sort crash能看到很多种后果,
经测试,当待排序元素大于16个时使用std::sort,若传入的callable违反strict weak ordering,则可能死循环也可能越界访问。
待排序元素小于等于16个不会有问题是因为std::sort对于小集合优化,用了冒泡排序。
后果很严重,在google搜一下violating strict weak ordering make std::sort crash能看到很多种后果,
经测试,当待排序元素大于16个时使用std::sort,若传入的callable违反strict weak ordering,则可能死循环也可能越界访问。
待排序元素小于等于16个不会有问题是因为std::sort对于小集合优化,用了冒泡排序。
相关文章推荐
- Entity Framework 无法对没有主键的视图映射实体的解决办法
- hdu 2112 HDU today
- Windows下Git和GitExtension配置
- 机器学习算法分类
- Java 时间服务器demo之线程池
- 通知中心
- switch语句
- (转)数字证书原理
- 蓝桥杯--算法训练 未名湖边的烦恼 (递归)
- LNMP安装
- leetcode第14题——*Longest Common Prefix
- Android SQLite学习指南
- http://blog.csdn.net/shirdrn/article/details/6270506
- 蓝桥杯--算法训练 未名湖边的烦恼 (递归)
- 电缆规格型号
- Mac升级到EI capitan重新设置Apache和php
- caffe: 使用draw_net.py画出MNIST Lenet的网络图
- linux下如何编写makefile文件
- Hadoop集群安装(七)--------Hadoop2.6.0集群安装
- Banach—steinhaus定理的应用