map容器的介绍:

1. 关联容器的概念

2. map容器的概念及它的组织方式

3. map容器的类型及其功能

4. map容器提供的函数

5. pair的概念及其用法

6. tuple的概念及其用法

map的容器有4种,每一种都是由类模板定义的。

map容器的元素是pair<const& K,T>类型的对象,这种对象分装了一个T类型的对象,和一个与其关联的K类型的键。pair元素中的键是const,因为修改键会扰乱容器中的元素的顺序

utility头文件中,定义了make_pair<T1,T2>()函数模板。

map<string, size_t>people {make_pair("Ann",25),make_pair("Bill",46),make_pair("Jack",32),make_pair("Jill",20)};

pair<T1,T2>的公共成员变量first,esecond分别保存了T1和T2类型的变量

//用一个已有的容器,赋值令一个容器
//method1
map<string,size_t> personnel{people};//method2
map<string,size_t> personnel{begin(people),end(people)};
#include <iostream>
#include <map>
#include <iomanip>
#include <string>using namespace std;int main()
{/*成员函数inser()会返回一个pair<iterator,bool>对象。对象的成员first是一个迭代器。它会指向插入的元素,或者指向阻止插入的元素。对象的成员变量second是返回对象。插入成功是true,反之是false访问插入pair的成员变量first的表达式是ret_pr.first->firstret_pr的成员变量first是一个指向pai的迭代器,所以可以使用->操作符,来访问它的成员变量first*/map<string, size_t>people {make_pair("Ann",25),make_pair("Bill",46),make_pair("Jack",32),make_pair("Jill",20)};auto pr = make_pair("Fred",22);auto ret_pr = people.insert(pr);ret_pr.first--;cout<< ret_pr.first->first << " "<<ret_pr.first->second<<" "<< ret_pr.second<<endl;cout<<"Iteration begins:"<<endl;for(const auto& p:people)cout<<setw(10)<<left<<p.first<<" "<<p.second<<endl;return 0;
}/*resultBill 46 1
Iteration begins:
Ann        25
Bill       46
Fred       22
Jack       32
Jill       20*/

《C++ STL编程实战》读书笔记(四)相关推荐

  1. 《淘宝技术这十年》读书笔记 (四). 分布式时代和中间件

    前面两篇文章介绍了淘宝的发展历程.Java时代的变迁和淘宝开始创新技术:              <淘宝技术这十年>读书笔记 (一).淘宝网技术简介及来源              &l ...

  2. 视觉SLAM十四讲读书笔记(5)P40-P52

    目录 Q:什么是eigen Q:正交矩阵的定义和性质 Q:什么是特殊正交群 Q:什么叫齐次坐标 Q:什么是特殊欧氏群 Q:什么是运算符重载 Q:什么是g2o Q:什么是sophus Q:什么是eige ...

  3. 视觉SLAM十四讲读书笔记(2)P10-P27

    目录​​​​​​​ Q:一个视觉SLAM框架由哪几个模块组成,各模块的任务又是什么 Q:什么是机器人的自主运动能力 Q:什么是机器人的感知 Q:什么是激光雷达 Q:什么是增强现实 Q:什么是IMU单元 ...

  4. 视觉SLAM十四讲读书笔记(3)P27-P31

    目录 Q:介绍一些常见的Linux系统 Q:Kinect是什么 Q:什么是编译器 Q:GNU是什么 Q:GNUME桌面环境是什么 Q:gedit是什么 Q:unix和Linux有什么关系和不同 Q:什 ...

  5. 【读书笔记】《视觉SLAM十四讲(高翔著)》 第13讲

    文章目录 工程文件一:dense_monocular(单目稠密地图) 工程文件二:dense_RGBD(点云地图 & 八叉树地图) 本博客的内容是本章程序编译运行方法,记录调通本章程序的过程. ...

  6. 《视觉SLAM十四讲 第二版》笔记及课后习题(第七讲)

    读书笔记:视觉里程计1 之前的内容,介绍了运动方程和观测方程的具体形式,并讲解了以非线性优化为主的求解方法.从本讲开始,我们结束了基础知识的铺垫,开始步入正题:按照第二讲的内容,分别介绍视觉里程计.优 ...

  7. 视觉SLAM总结——视觉SLAM十四讲笔记整理

    视觉SLAM总结--视觉SLAM十四讲笔记整理 说明 基础知识点 1. 特征提取.特征匹配 (1)Harris (2)SIFT (3)SUFT (4)ORB (5)特征匹配 2. 2D-2D:对极约束 ...

  8. 视觉SLAM十四讲学习笔记-第七讲-视觉里程计-三角测量和实践

     专栏汇总 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第二讲-初识SLAM_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第 ...

  9. 视觉SLAM十四讲学习笔记-第七讲-视觉里程计-对极几何和对极约束、本质矩阵、基础矩阵

    专栏系列文章如下:  专栏汇总 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第二讲-初识SLAM_goldqiu的博客-CSDN博客 视觉SLA ...

  10. 视觉SLAM十四讲学习笔记-第六讲学习笔记总结(1)---非线性优化原理

    第六讲学习笔记如下: 视觉SLAM十四讲学习笔记-第六讲-非线性优化的状态估计问题_goldqiu的博客-CSDN博客 ​​​​​​视觉SLAM十四讲学习笔记-第六讲-非线性优化的非线性最小二乘问题_ ...

最新文章

  1. PDGAN: A Novel Poisoning Defense Method in Federated Learning Using Generative Adversarial Network笔记
  2. 苹果电脑无法用普通域用户加入域,用域管理员却可以,怎么破!?
  3. [Swift通天遁地]七、数据与安全-(12)使用Instruments Leaks工具检测内存泄露
  4. Oracle BI11启动失败
  5. Java多线程设计要点
  6. [转]paint,update和repaint三种awt方法
  7. HDU Fibonacci
  8. 用txt写的mysql数据库_TXT怎么导入mySQL数据库
  9. GooFlow有后门代码
  10. uni-app地址四级联动
  11. SQL 遇到以零作除数错误——用NULLIF()函数处理为0的分母
  12. 海思Hi3531DV100开发环境搭建
  13. MySQL讲义第49讲——select 查询之查询练习(七):使用多种方法添加排名
  14. CAD中DWF(DXF)数据在GIS上的应用
  15. R语言和RStudio开发环境的下载与安装
  16. 【No JSON object could be decoded】问题解决
  17. 某A的工口游戏创作者体验记(上)
  18. Esxi安装iStoreOS
  19. connect to maven.google.com:443 connect timed out 连接不上的解决办法
  20. Utility AI 一种基于权重的游戏AI

热门文章

  1. OpenCvSharp人脸识别系统(视频中的人脸)
  2. 汽车环视算法原理及其实现
  3. Google 开源的项目集合
  4. 数据库空间管理-学习笔记
  5. C语言编译器Visual C++(中文版)的安装
  6. 做个自己站内搜索引擎
  7. BLOB图像处理技术
  8. 蓝桥杯单片机第11届国赛程序题参考答案
  9. linux下开机自动启动,定时运行shell脚本
  10. linux下一键部署mysql_linux下一键编译搭建mysql服务器脚本