map和unordered_map
2016-03-14 16:52
274 查看
1、boost::unordered_map, 它与 stl::map的区别就是,stl::map是按照operator<比较判断元素是否相同,以及比较元素的大小,然后选择合适的位置插入到树中。所以,如果对map进行遍历(中序遍历)的话,输出的结果是有序的。顺序就是按照operator< 定义的大小排序。而boost::unordered_map是计算元素的Hash值,根据Hash值判断元素是否相同。所以,对unordered_map进行遍历,结果是无序的。
2、用法的区别就是,stl::map 的key需要定义operator< 。 而boost::unordered_map需要定义hash_value函数并且重载operator==。对于内置类型,如string,这些都不用操心。对于自定义的类型做key,就需要自己重载operator< 或者hash_value()了。
2、用法的区别就是,stl::map 的key需要定义operator< 。 而boost::unordered_map需要定义hash_value函数并且重载operator==。对于内置类型,如string,这些都不用操心。对于自定义的类型做key,就需要自己重载operator< 或者hash_value()了。
相关文章推荐
- 16. 3Sum Closest
- equals和hashcode方法
- Android进阶UI之SlidingTabLayout实现ViewPager页卡滑动效果
- Android设计模式系列(7)--SDK源码之命令模式
- 括号匹配
- 进制转换
- 利用java实现的一个发送手机短信的小例子
- Android bluetooth介绍(一):基本概念及硬件接口
- 简单的线程池实现
- 关于iOS 融云的一些细节
- 双层for循环遍历数据
- Android仿IOS地区弹出框选择器
- SpringMvc form日期字符串到后台bean分秒丢失
- 最强查看依赖关系脚本
- 用宏输出0~99
- iOS 图片编辑——涂鸦——随手指移动随意画线
- Life Game-cww
- nginx的access-log中添加cookie
- First blog for IT!
- MC9S12G128 SCI设置