应用:

pair的实现是一个结构体,主要的两个成员变量是first、second,因为使用struct,可以直接使用pair的成员变量。
一个对象有多个属性的时候,一般自己写一个struct ,仅有两个属性,就可以直接用pair。
另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。

类模板:template<class T1,class T2> struct pair
参数:T1是第一个值的数据类型,T2是第二个值的数据类型。
功能:pair将一对值(T1和T2)组合成一个值,这一对值可以具有不同的数据类型(T1和T2),
两个值可以分别用pair的两个公有函数first和second访问

pair的创建和初始化

在创建pair对象时,必须提供两个类型名,两个对应的类型名的类型不必相同

pair<string, string> point;        // 创建一个空对象point,两个元素类型都是string
pair<string, int> point;     // 创建一个空对象point,两个元素类型分别是string和int类型
pair<double, double> point (2.0,1.5);    // 创建一个point对象,数据类型都为double类型,并初始值2.0和1.5。
//如果定义多个相同的pair类型对象,可以使用typedef简化声明:
typedef pair<double,double> point;
pair对象的操作

访问两个元素可以通过first和sencond:

pair<double ,double> point;
point.first = 1.0;
point.second = 2.5;
cout << point.first << '  ' << point.second << endl;
//输出结果:1.0  2.5