标准库类型之map
- 使用map得包含map类所在的头文件
#include <map> - 定义一个map对象:
map<string, int> mapTest;//用string作为索引,存储int对象
【四种方法】
- mapTest["aaa"] = 100;
- mapTest.insert(map<string, int>::value_type("bbb", 200));
- mapTest.insert(pair<string, int>("ddd", 400));
- mapTest.insert(make_pair<string, int>("ccc", 300));
编译运行:
如果先插入500那输出会有影响么?
可见它默认是按照key从小到大的顺序排列的。正因为如此,所以map中的key是有要求的:一定得重载<号运算符,另外我们是可以人为改变map默认的排序规则的,JAVA中也有类似的,关于如何自定义排序等将来学习STL再来探究。
如果插入的key的值重复了又该如何呢?
结果:
那其它的插入方式如果key重复了也是保留最后一次么?下面来试试:
结果:
- mapTest["aaa"] = 100;
- map<string, int>::iterator it = mapTest.find(“aaa”);
- it->second = 666;
如果查找一个不存在的呢?
结果:
编译运行:
如果说没有找到呢?
- mapTest.erase(“aaa”);
- mapTest.erase(it);
标准库类型之map的更多相关文章
- C++ 标准库类型-String,Vector and Bitset
<C++ Primer 4th>读书摘要 最重要的标准库类型是 string 和 vector,它们分别定义了大小可变的字符串和集合.这些标准库类型是语言组成部分中更基本的那些数据类型(如 ...
- C++ Primer 第三章 标准库类型vector+迭代器iterator 运算
1.vector: 标准库类型vector表示对象的集合,其中所有对象的类型都相同,集合中的每个对象都有一个与之对应的索引,索引用于访问对象.因为vector“容纳着”其他对象,所以它也常被称作容器( ...
- C++ Primer 第三章 标准库类型string运算
1. 标准库类型 string string表示可变长的字符序列,使用string必须首先包含string头文件.如何初始化类的对象是由类本身决定的. int n; string s1;//默认初始化 ...
- 标准库类型vector
标准库类型vector表示对象的集合,其中所有对象的类型都相同.集合中的每个对象都有一个与之对应的索引,索引用于访问对象.因为vector“容纳着”其他对象,所以它被称为容器. 要想使用vector, ...
- C++ Primer笔记1_转义字符_标准库类型string_标准库类型vector
1.转义字符 一般有两种方式: \x后紧跟1个或多个十六进制数字.或\后紧跟1.2.3个八进制数字,当中数字部分是字符相应的数值. #include <iostream> using na ...
- C++标准库类型vector及迭代器iterator简介
Vector是C++标准库类型,称为容器,一个容器中的所有对象必须是同一种类型的.与数组相比,其最大的优点就是动态增长.Vector是一个类模板,并不是数据类型,而vector<int>和 ...
- C++primer第三章标准库类型
除第二章介绍的基本数据类型外,C++ 还定义了一个内容丰富的抽象数据类型标准库. 本章将介绍标准库中的 vector.string 和 bitset 类型. string 类型支持长度可变的字符串 v ...
- 谈谈两种标准库类型---string和vector
两种最重要的标准库---string和vector string和vector是两种最重要的标准库类型,string表示可变长的字符序列,vector存放的是某种给定类型对象的可变长序列. 一.标准库 ...
- C++ Primer 学习笔记_6_标准库类型 -- 命名空间using与string类型
标准库类型(一) --命名空间using与string类型 引: 标准库类型是语言组成部分中更主要的哪些数据类型(如:数组.指针)的抽象! C++标准库定义的是高级的抽象数据类型: 1.高级:由 ...
随机推荐
- 三节课MINI计划第三周
第一部分 微信读书的产品分析 一.任务背景 二.做什么 三.TASK8 业务流程图 四.TASK9 五.周会 六.周报
- SQL查询当天、本周、本月记录详解
--查询当天: select * from info where DateDiff(dd,datetime,getdate())=0 --查询24小时内的: select * from info wh ...
- yarn和npm
Yarn和npm命令对比 npm install === yarn npm install taco --save === yarn add taco npm uninstall taco --sav ...
- linux防火墙学习
iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分.可以直接配置,也可以通过许多前端和图形界面配置.语法: iptables(选项)(参数)1,命令选项-t<表 ...
- Centos安装Python3及设置对应版本pip
安装Python3 安装Python依赖: yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel ...
- luoguP1463:反素数ant(打表心得☆)
题目描述 对于任何正整数x,其约数的个数记作g(x).例如g()=.g()=. 如果某个正整数x满足:g(x)>g(i) <i<x,则称x为反质数.例如,整数1,,,6等都是反质数. ...
- ajax与jsonp中的几个封装函数
首先是ajax里的get 在页面上添加几个标签用作测试 <body> <input type="text" id="user"> < ...
- 验证码处理+cookie模拟登录
一.背景 相关博文:https://www.jianshu.com/p/9fce799edf1e https://blog.csdn.net/h19910518/article/details/793 ...
- PAT(B) 1021 个位数统计(Java)
题目链接:1021 个位数统计 (15 point(s)) 代码 /** * Score 15 * Run Time 93ms * @author wowpH * @version 1.0 */ im ...
- GPIO 输出—使用固件库点亮 LED
编程要点 1. 使能 GPIO 端口时钟: 2. 初始化 GPIO 目标引脚为推挽输出模式: 3. 编写简单测试程序,控制 GPIO 引脚输出高.低电平. LED的电路图 过程: 1.拷贝一个库函 ...