4.1 pair类模板

在学习关联容器之前,首先先要了解一下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",20); 
    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(200,"hello");
    cout << p4.first << "," << p4.second << endl; //输出  200,hello
    return 0;
}

注意长注释

原文地址:https://www.cnblogs.com/by-dxm/p/5473456.html