pair常見用法

pair的使用

關於pair

什麼是pair

能夠將pair看作一個內部有兩個元素的結構體,且兩個元素的類型是能夠指定的。ios

struct pair{
    typename1 first;
    typename2 second;
}

什麼時候使用pair

當想要將兩個元素綁在一塊兒做爲一個合成元素,又不想要定義結構體的時候,使用pair能夠方便地做爲一個替代品。函數

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);

pair中元素訪問

# 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;
}

pair常見函數

比較操做數>,=,<,>=,<=等等

比較規則是先以first大小做爲標準,只有在first相等的時候才判斷secondspa

pair的常見用途

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;
}
相關文章
相關標籤/搜索