能够将pair看作一个内部有两个元素的结构体,且两个元素的类型是能够指定的。ios
struct pair{ typename1 first; typename2 second; }
当想要将两个元素绑在一块儿做为一个合成元素,又不想要定义结构体的时候,使用pair能够方便地做为一个替代品。函数
# include <utility> using namespace std;
//typename1,typename2能够是任何类型,容器或者基础类型 pair<typename1,typename2> p; //string和int pair<string,int>p; //定义初始化 pair<string,int>p("hahaha",1);
//1.构建匿名pair对象 pair<string,int> p("haha",1); //2.使用自带的make_pair函数 make_pair("haha",1);
# include <utility> # include <iostream> using namespace std; int main(void) { pair<string,int> p; p.first="hahaha"; p.second=5; cout<<p.first<<" "<<p.second<<endl; p=make_pair("nihao",2); cout<<p.first<<" "<<p.second<<endl; p=make_pair("sawadika",5); cout<<p.first<<" "<<p.second<<endl; return 0; }
比较规则是先以first大小做为标准,只有在first相等的时候才判断secondspa
1.替代二元结构体以及其构造函数,节省时间 2.做为map中的键值对进行插入code
map<string,int> m; map.insert(make_pair("haha",1)); map.insert(make_pair("nihao",2)); for(map<string,int>::iterator it=m.begin();it!=m.begin();it++) { cout<<it->first<<" "<<it->second<<endl; }