能夠將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; }