map的insert和下标[]访问的区别
来源:互联网 发布:知乎日报所有封面图 编辑:程序博客网 时间:2024/05/17 01:43
在map中插入元素有两个方式,insert 和下标[]赋值
改变map中的条目非常简单,因为map类已经对[]操作符进行了重载
enumMap[1] = "One";
enumMap[2] = "Two";
.....
这样非常直观,但存在一个性能的问题。插入2时,先在enumMap中查找主键为2的项,没发现,然后将一个新的对象插入enumMap,键是2,值是一个空字符串,插入完成后,将字符串赋为"Two"; 该方法会将每个值都赋为缺省值,然后再赋为显示的值,如果元素是类对象,则开销比较大。我们可以用以下方法来避免开销:
enumMap.insert(pair<int, CString> (2, "Two"));
insert()方法:若插入的元素的键值已经存在于map中,那么插入就会失败,不会修改元素的键对应的值;若键值在map中查不到,那么就会将该新元素加到map中去。
下标[key]方法:若插入元素的键值已经存在于map中,那么会更新该键值对应的值为新的元素的值;若该键值在map中找不到,那么就会新建一个键值为该键(key)的元素,并将key对应的值赋值为默认值(默认构造函数生成的对象)。
0 0
- map的insert和下标[]访问的区别
- std::map的insert和下标[]访问
- std::map的insert和下标[]访问
- std::map的insert和下标[]访问
- map的insert和下标[]访问
- std::map的insert和下标[]访问
- std::map的insert和下标[]访问
- std::map的insert和下标[]访问
- map的insert和[]重载下标
- STL map的insert操作与下标操作的区别
- map下标操作和insert区别
- map 的插入方法 下标法 和 insert 法的区别
- map 的插入方法 下标法 和 insert 法的区别
- map 的插入方法 下标法 和 insert 法的区别
- map的下边访问和vector的下标访问的区别
- map这种容器的下边访问和Vector等容器的下标访问有本质的区别。
- std::map [] operator 和 insert 的区别
- NYOJ+Map的使用利用数组下标访问
- 学习使用px,em ,rem
- AndroidStudio插件使用之:GsonFormat
- leetcode No84. Largest Rectangle in Histogram
- 安装Gazebo可能会遇到Error [Node.cc:90] No namespace found
- 类似拿乒乓球数问题的思考
- map的insert和下标[]访问的区别
- 在spring中使用jedis 连接调试单机redis以及集群redis
- Tomcat启动错误:Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds
- N个里面选k个的用法
- next_permutation实现原理
- TCP/IP学习
- iOS-图文表并茂,手把手教你GCD
- Java求职面试中那些棘手的线程问题
- Gradle build设置自动log开关