应用:
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