栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Effective STL--关联容器

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Effective STL--关联容器

19、了解相等和等价的区别--------相等一般基于operator==,等价则基于一个仿函数--!key_comp()(w1,w2) && !key_comp()(w2,w1)

20、为指针的关联容器指定比较类型------因为关联容器会根据比较类型确认相应的顺序,所以如果是指针的关联容器没有提供比较类型,只能采用指针的值来进行比较,这个肯定不是你想要的结果

21、永远让比较函数对相等的值返回false,因为关联容器的比较基于<,所以如果相等的值返回true会导致比较返回不正确,这会破坏关联容器所有接口,这可能会让你惊讶,但是你要仔细想想

22、避免原地修改set和multiset的键----因为这种行为会导致容器内元素无序,但是如果元素是类属性,改变成员不影响排序也可以,毕竟不是const T,但是安全的方式是,拷贝元素,删除,修改,原位置插入

23、考虑用有序vector代替关联容器----感觉只是一种考虑方式,毕竟vector会比关联容器占用少的内存,vector最后的内存可以通过交换技巧排除掉,而且查找等其他算法也不会引用这些内存

24、当关乎效率时应该在map::operator[]和map::insert之间仔细选择-------如果要更新元素时采用operator[],如果要插入新元素时采用insert

25、熟悉非标准散列容器-----hash_set、hash_multiset、hash_map、hash_multimap || unordered_set、unordered_multiset、unordered_map和unordered_multimap

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/334021.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号