2019独角兽企业重金招聘Python工程师标准>>>

先简单介绍一下map,C++中的map属于STL的范畴,通过key-value的方式保存。

map的插入,插入map有两种方式,一种是调用insert方法:

map<int, int> m1;

m1.insert(pair<int, int>(1, 20));

第二种方式可以通过类似数组赋值的方式。

m1[1] = 20;

元素的访问方式也有两种方式:

一种是通过迭代的方式:

map<int,int> m;

map<int,int>::iterator iter;

m[1] = 20;

m[2] = 21;

iter = m.find(1);

if(iter != m.end())

{

//find it!

}

第二种方式是通过数组发方式访问value

map<int,int> m;

int value = m[1];

但是map的下标访问和迭代的方式访问有什么不一样的地方呢。

从代码上看使用数组比较方便,但是数组访问有一个非常不好的事情,比如当map中不存在某一个key值时,通过数组的方式访问,它会将整个key值插入到map中,并且插入的value是一个默认值。在做一个项目的时候需要在适当的时候删除一些元素,我们代码是多线程的,在删除之后又通过key去查找当前的值在不在就导致此key再次出现在map中,导致map越来越大,到后面如果有需要进行全面遍历的时候,这个时候就会非常的耗时而且是没有没有用的。

不知道是不是所有的平台都是这个样子的,我在嵌入式设备上是这个样子的。

转载于:https://my.oschina.net/u/1013544/blog/2244737

C++ map下标访问的问题相关推荐

  1. Swift Tips - 在 Swift 中自定义下标访问

    Untitled Document.md 在 Swift 中,我们可以使用下标轻松的访问数组中的元素.比如这样: var numbers:Array = [1,2,3,4,5] println(num ...

  2. 【Groovy】集合声明与访问 ( 使用 [] 创建 ArrayList 和 LinkedList 集合 | 集合赋初值 | 使用下标访问集合 | 使用 IntRange 作为下标访问集合 )

    文章目录 一.使用 [] 创建集合 1.使用 [] 创建 ArrayList 集合 2.使用 [] 创建 LinkedList 集合 二.访问集合中的元素 1.集合赋初值 2.使用下标访问集合元素 ( ...

  3. golang中string下标访问

    看一下golang中string的下标访问. package mainimport "fmt"func main() {x := "123"fmt.Printl ...

  4. c++ string 无法通过下标访问_数组下标1你见过吗?

    作者:守望,Linux应用开发者,目前在公众号[编程珠玑] 分享Linux/C/C++/数据结构与算法/工具等原创技术文章和学习资源. 不知道你有没有见过-1作为数组下标的,我算是见到了.当然这一点在 ...

  5. 封装Python列表实现多下标访问

    class MyArray(object): def __init__(self, values): #values can be of any kinds which can be converte ...

  6. python不支持下标访问元素吗_Python 集合不支持使用下标访问其中的元素

    Python 集合不支持使用下标访问其中的元素 答:对 下列对于新创企业的优势的描述中,错误的是(). 答:开拓新市场投资多,但潜在的回报少 与欧洲近代科学革命相比,18世纪美国科学发展的优势是() ...

  7. matlab 连续下标表示,MATLAB通过下标访问多个数组元素

    在<MATLAB通过下标访问数组元素>中我们讲解了如何通过下标来访问数组中的某一个元素,除此之外,MATLAB 还允许通过下标一次性访问多个元素. 使用冒号指明下标范围 MATLAB 允许 ...

  8. vector at()和下标访问哪个好?

    vector 是可以直接用下标进行访问的一类容器 vector <int> A; A.push_back(1); cout<<A[0]; 输出:1 但是,有些资料上说vecto ...

  9. std::map的insert和下标[]访问

    From: http://www.cnblogs.com/kex1n/archive/2011/11/16/2251520.html 在map中插入元素 改变map中的条目非常简单,因为map类已经对 ...

最新文章

  1. R语言ggplot2可视化使用ggplot2::ggsave函数和gridextra::marrangegrob函数将多个可视化结果保存在pdf文件中
  2. 新51CTO博客体验笔记
  3. Java:重写equals()和hashCode()
  4. MySQL优化之三:SQL语句优化
  5. javafx中的tree_JavaFX中的塔防(4)
  6. Java ResourceBundle getLocale()方法与示例
  7. html 轮播图的鼠标事件,这是图片轮播的代码 html+css,怎么加上鼠标悬停移出继续功能?...
  8. 蚂蚁集团高级架构师郭援非:分布式数据库是金融机构数字化转型的最佳路径...
  9. 基于Python+Django的企业人事管理系统
  10. Storm概念学习系列之Task任务
  11. MIT机器人轻松搞定桌游叠叠乐:你能玩过它算我输 | 《科学》子刊
  12. react 把前后台的axios请求放在一起_可靠React组件设计的7个准则之SRP
  13. 洛谷P2024 食物链
  14. echarts渐变色
  15. Cisco RV340命令执行漏洞(CVE-2022-20707)及关联历史漏洞分析
  16. Pytorch内存泄漏Memory Leak
  17. python培训班-Python培训机构_高品质Python线下开发培训班推荐-黑马程序员
  18. 微信小程序---文本域输入带最大字数限制
  19. Linux硬盘空间爆满后如何清理
  20. ffmpeg中av_log的实现分析

热门文章

  1. 计算机窗口是什么意思解释,界面(概念用语)_百度百科
  2. 数部视频学习资源,一定有你想要的
  3. 2021年中国新生儿出生人数、新生儿名字使用情况及常见姓名地理分布[图]
  4. druid以及监控台使用及配置
  5. 浪潮 服务器 修改raid,浪潮服务器RAID配置方法-20210723233916.docx-原创力文档
  6. 小鲲Python嘎嘎炫~day1.4
  7. 从零开始,创建一个VUE项目,详细图文详解。
  8. Traffic Server Net子系统分析
  9. Flash媒体服务器
  10. 【小程序】开发需要注意的地方(三)