STL之pair

蹲街弑〆低调 提交于 2020-01-27 00:11:55

pair的简介

pair是将2个数据合成一组数据,如STL中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first,second 因为pair使用的是struct不是class,所以无需申明头文件便可以直接使用pair

pair的构造

  • 创建一个空的pair对象,它的两个元素分别是T1和T2类型,采用值初始化

    pair<T1, T2> p;

  • 创建一个pair对象,它的两个元素分别是T1和T2类型,其中first成员初始化为v1,second成员初始化为v2

    pair<T1, T2> p1(v1, v2);

  • 以v1和v2的值创建一个新的pair对象,其元素类型分别是v1和v2的类型

    make_pair(v1, v2);

pair对象的操作

  • 访问两个元素操作可以通过first和sencond访问

    pair<int ,int> p;
    p.first = 1;
    p.second = 2;
    cout<<p.first<<' '<<p.second<<endl; //输出结果:1 2
    
  • pair的比较是先比较first,当first相等时再比较second

通过tie获取pair元素值

在某些清况函数会以pair对象作为返回值时,可以直接通过tie进行接收。比如:

pair<int,int> Function() {
	return make_pair(1,2);
}

int main() {
	int a,b;
	tie(a,b) = getPreson();
	cout<<"a:"<<name<<",b:"<<b<<endl;
	return 0;
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!