博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ map的insert方法
阅读量:6891 次
发布时间:2019-06-27

本文共 619 字,大约阅读时间需要 2 分钟。

  hot3.png

关于map容器的insert成员说明:

(1)map对象中一个给定键只对应一个元素。如果试图插入的元素所对应的键已在容器中,则insert将不做任何操作;
(2)含有一个或一对迭代器形参的insert函数版本如:m.insert(beg,end),并不说明是否有或有多少个元素插入到容器中。
(3)但是,带有一个键-值pair形参的insert版本将返回一个值:包含一个迭代器和一个bool值得pair对象,其中迭代器指向map中具有相应键的元素,而bool值则表示是否插入了该元素。如果该键不在容器中,则插入新元素,且bool值为ture;如果该键已在容器中,则其关联的值保持不变,返回bool值为false。在这两种情况下,迭代器都将指向具有给定键的元素。

所以在看见pair<map<string,vector<string> >::iterator,bool> ret =    children.insert(make_pair(surname,chd));这么长的一句话时,不要害怕,细细分析。

pair里面的两个元素的类型分别是:map<string,vector<string> >::iterator,和bool。这个pair类型变量ret是insert操作的返回值。前面这个迭代器类型的元素是指向map中具有相应键的元素。

转载于:https://my.oschina.net/shou1156226/blog/744621

你可能感兴趣的文章
关于访问Android项目中assets中的资源
查看>>
大家来解一解小学生题目......
查看>>
CentOS 6.4 & 6.5下DRBD的安装配置
查看>>
wp-setting.php文件详解
查看>>
mysqldb安装
查看>>
DOS 的XCOPY命令的应用之排除某些文件或文件夹(/EXCLUDE选项的应用)
查看>>
如何才能带动团队
查看>>
Spring中IOC和AOP的详细解释
查看>>
电机分类
查看>>
IntelliJ Idea 常用快捷键列表
查看>>
一、数组二三
查看>>
Android_触摸设备
查看>>
mysql读书笔记(三)
查看>>
实例:调用系统字体
查看>>
程序员应该重视版本控制
查看>>
提升Salt Api稳定性
查看>>
sqoop架构原理与操作
查看>>
C Primer Plus 第5章 运算符、表达式和语句 5.6 带有参数的函数
查看>>
js 函数节流与函数防抖技巧
查看>>
Netty概述
查看>>