在学习关联容器之前,首先先要了解一下STL中的pair类模板,因为关联容器的一些成员函数返回值都是pair对象,而且map 和multimap中的元素都是pair对象。

1)pair类模板定义

pair实例化出来以后的类都有两个成员变量,一个是first,另一个是second。

STL中还有一个make_pair()函数模板,可以返回一个pair模板对象。源码如下:

template<class T1, class T2>

pair<T1,T2>make_pair(T1 x, T2 y)

{
     return (pair<T1,T2>(x,y);

}

2)pair和make_pair的用法

//program 19.4.1.cpp  pair和make_pair的用法:
#include <iostream>
using namespace std;
int main()
{
pair<int,double> p1;
cout << p1.first << "," << p1.second << endl; //输出 0,0
pair<string,int> p2("this",);
cout << p2.first << "," << p2.second << endl; //输出 this,20
pair<int,int> p3(pair<char,char>('a','b')); //用第三个构造函数初始化(第三个构造函数是函数模板,参数是一个pair类对象的引用),
//因此生成一个临时对象来进行初始化
cout << p3.first << "," << p3.second << endl; //输出 97,98
pair<int,string> p4 = make_pair(,"hello");
cout << p4.first << "," << p4.second << endl; //输出 200,hello
return ;
}

注意长注释

最新文章

  1. [翻译]理解Swift中的Optional
  2. Front End Developer Questions 前端开发人员问题(三)JavaScript部分
  3. MapReduce实现手机上网日志分析(排序)
  4. 一个类似宣传的H5页面
  5. rhel7端口开放和查询
  6. 在Win7 64位注册ActiveX控件
  7. ***PHP类型转换实例:$this-&gt;input-&gt;get()返回的结果是字符串类型(数字字符串转数字)
  8. [转载] Codis作者黄东旭细说分布式Redis架构设计和踩过的那些坑们
  9. iOS:核心动画具体的类和协议的介绍
  10. OC的类的构造方法
  11. [Bootstrap] 8. &#39;Collapse&#39;, data-target, data-toggle &amp; data-parent
  12. 再看C
  13. springdata+redis配置详解
  14. Python资料汇总(建议收藏)
  15. thinkphp5.0 分页中伪静态的处理
  16. Python练手例子(1)
  17. MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别
  18. 【Gym 100947I】What a Mess
  19. C++ GetModuleFileName()
  20. HDU 6044--Limited Permutation(搜索+组合数+逆元)

热门文章

  1. webpack 教程 那些事儿03-webpack两大精华插件,热加载
  2. Linux资源站
  3. spring 控制事务
  4. Java 7 Concurrency Cookbook 翻译 序言
  5. POJ2104 —— K-th number
  6. [codevs1027]姓名与ID
  7. opencv删除二值图中较小的噪点色块
  8. Android活动的生命周期
  9. POJ 2195 Going Home 最小费用最大流 尼玛,心累
  10. 11.8---维护x的秩(CC150)