stl中map的四种插入方法总结
stl中map的四种插入方法总结
方法一:pair
例:
map<int, string> mp;
mp.insert(pair<int,string>(1,"aaaaa"));
方法二:make_pair
例:
map<int, string> mp;
mp.insert(make_pair<int,string>(2,"bbbbb"));
方法三:value_type
例:
map<int, string> mp;
mp.insert(map<int, string>::value_type(3,"ccccc"));
方法四:[]
例:
map<int, string> mp;
mp[4] = "ddddd";
四种方法异同:
前三种方法当出现重复键时,编译器会报错,而第四种方法,当键重复时,会覆盖掉之前的键值对。
综合测试:
#include<iostream>
#include<map>
using namespace std; int main()
{
map<int, string> mp;
//map的插入方法有4种
//insert返回值为pair 原型:typedef pair<iterator, bool> _Pairib
//方法1.pair 在插入重复键的情况下前三种方法类似,这里只测试第一种
pair<map<int,string>::iterator, bool> pair1 = mp.insert(pair<int,string>(,"aaaaa11111"));
if (pair1.second == true)
{
cout<< "插入成功" <<endl;
}
else
{
cout<< "插入失败" <<endl;
} pair<map<int,string>::iterator, bool> pair2 = mp.insert(pair<int,string>(,"aaaaa22222"));
if (pair2.second == true)
{
cout<< "插入成功" <<endl;
}
else
{
cout<< "插入失败" <<endl;
}
//方法2.make_pair
mp.insert(make_pair<int,string>(,"bbbbb33333"));
mp.insert(make_pair<int,string>(,"bbbbb44444")); //方法3.value_type
mp.insert(map<int, string>::value_type(,"ccccc55555"));
mp.insert(map<int, string>::value_type(,"ccccc66666")); //方法4.[]
mp[] = "ddddd77777";
mp[] = "ddddd88888"; for (map<int,string>::iterator it = mp.begin(); it != mp.end(); it++)
{
cout<< it->first << "\t" << it->second <<endl;
}
cout<< "--------------------------------" <<endl;
//删除
while(!mp.empty())
{
map<int,string>::iterator it = mp.begin();
cout<< it->first << "\t" << it->second <<endl;
mp.erase(it);
} return ;
}
stl中map的四种插入方法总结的更多相关文章
- js中this的四种使用方法
0x00:js中this的四种调用模式 1,方法调用模式 2,函数调用模式 3,构造器调用模式 4,apply.call.bind调用模式 0x01:第一种:方法调用模式 (也就是用.调用的)this ...
- Java中Map的三种遍历方法
Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历. 告诉您们一个小秘密: (下↓面是测试代码,最爱看 ...
- sqlserver中数据的四种插入方式
1.insert into stuInfo(name,stuId) values('李洁','19291727')insert into stuInfo(name,stuId) values('李康' ...
- Map的四种遍历方法
1.取值遍历 for(String key:map.keySet()){ System.out.println("key="+key+"and value=" ...
- Map的四种遍历
//Map的四种遍历方法 public static void main(String[] args) { Map<String, String> map = new HashMap< ...
- iOS中常用的四种数据持久化方法简介
iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 ...
- AJPFX关于Java中运用数组的四种排序方法
JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法.冒泡法.选择排序法.插入排序法.快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现.冒泡法是运用遍历数组进行比 ...
- java 遍历map的四种方法
16:21:42 Map.entrySet() 这个方法返回的是一个Set<Map.Entry<K,V>>,Map.Entry 是Map中的一个接口,他的用途是表示一个映射项( ...
- C语言中返回字符串函数的四种实现方法 2015-05-17 15:00 23人阅读 评论(0) 收藏
C语言中返回字符串函数的四种实现方法 分类: UNIX/LINUX C/C++ 2010-12-29 02:54 11954人阅读 评论(1) 收藏 举报 语言func存储 有四种方式: 1.使用堆空 ...
随机推荐
- 手写热更新阐述tinker实现原理
关于热更新如今面试也是基本上都会提及到的,我上一家公司用的是tinker,而这里准备研究的也是它的原理,而关于tinker的原理网上也是一大堆文章进行介绍,为了对它有个更加进一步的认识,所以自己动手来 ...
- javax.servlet.ServletException: Circular view path [index]: would dispatch back to the current handler URL [/pay/index] again. Check your ViewResolver setup!
2019-08-08 17:12:03.544 ERROR 13748 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Se ...
- 《The One!团队》:BETA Scrum metting3
项目 内容 作业所属课程 所属课程 作业要求 作业要求 团队名称 < The One !> 作业学习目标 (1)掌握软件黑盒测试技术:(2)学会编制软件项目总结PPT.项目验收报告:(3) ...
- Python语言程序设计(3)--实例2-python蟒蛇绘制-turtle库
1. 2. 3.了解turtle库 Turtle,也叫海龟渲染器,使用Turtle库画图也叫海龟作图.Turtle库是Python语言中一个很流行的绘制图像的函数库.海龟渲染器,和各种三维软件都有着良 ...
- Redis 中的高级数据类型
5个基础数据类型 高级功能 ① HyperLogLog (参考) 供不精确的去重计数功能,比较适合用来做大规模数据的去重统计,例如统计 UV > PFADD visitors alice bob ...
- HDFS内存配置
下图是HDFS的架构: 从上图中可以知道,HDFS包含了NameNode.DataNode以及Client三个角色,当我们的HDFS没有配置HA的时候,那还有一个角色就是SecondaryNameNo ...
- 学underscore在数组中查找指定元素
前言 在开发中,我们经常会遇到在数组中查找指定元素的需求,可能大家觉得这个需求过于简单,然而如何优雅的去实现一个 findIndex 和 findLastIndex.indexOf 和 lastInd ...
- CQOI2016 不同的最小割 (最小割树模板)(等价流树的Gusfield构造算法)
题目 最小割树模板 算法详解及证明见: 2016年国家队候选队员论文 <浅谈无向图最小割问题的一些算法及应用--绍兴一中 王文涛> 3.2节 CODE #include <bits/ ...
- webuploader+Java如何实现分片+断点续传
核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...
- mysql 5.7.21, for Linux (i686) 权限配置
配置权限参数: GRANT语法: GRANT 权限 ON 数据库.* TO 用户名@'登录主机' IDENTIFIED BY '密码' 权限: ALL,ALTER,CREATE,DROP,SELECT ...