pair、智能指针和数值极值统称为C++中的通用工具,使用pair需包含<utility>或<iostream>头文件,pair是一个结构体,因此所有成员为公有的,成员变量为first和second,成员函数包括默认构造函数、两个参数的构造函数、拷贝构造函数、比较操作函数(==、!=、>、<等)和make_pair函数(传入两个参数,返回pair对象)。具体的使用程序如下所示:
#include <iostream>
using namespace std;
int main(){
pair<int,double> a;
a.first=1;
a.second=4.3789;
cout<<a.first<<" "<<a.second<<endl;
pair<int,double> b(a);
cout<<b.first<<" "<<b.second<<endl;
pair<int,double> c;
cout<<c.first<<" "<<c.second<<endl;
pair<int,double> d(5,9.36746);
cout<<d.first<<" "<<d.second<<endl;
if(a!=d)
cout<<"true"<<endl;
if(a<d)
cout<<"true"<<endl;
d=make_pair(1,4.3789);
if(d==a)
cout<<"true"<<endl;
bool m=true;
cout<<m<<endl;
return 0;
}
实验结果如下所示:
实验结果可以看出,pair默认构造函数自动将first和second两个成员初始化,比较的时候first优先级高于second,使用make_pair可以返回pair对象。