pair是一個(gè)很實(shí)用的“小玩意”蛋辈,當(dāng)想要將兩個(gè)元素綁在一起作為一個(gè)合成元素瑟慈、又不想要因此定義結(jié)構(gòu)體時(shí)漫谷,使用pair可以很方便的作為一個(gè)代替品仔雷。也就是說,pair實(shí)際上可以看作一個(gè)內(nèi)部有兩個(gè)元素的結(jié)構(gòu)體舔示,且這兩個(gè)元素的類型是可以指定的碟婆。
使用pair,應(yīng)先添加頭文件#include<utility>惕稻,注意:由于map的內(nèi)部實(shí)現(xiàn)中涉及pair竖共,因此添加map頭文件時(shí)會自動添加utility頭文件,因此記不住“utility”拼寫的讀者可以偷懶地用map頭文件來代替utility頭文件俺祠。
定義:pair<typename1公给,typename2>name;
初始化:pair<string蜘渣,int>p(“haha”淌铐,5);
想要在代碼中臨時(shí)搭建一個(gè)pair蔫缸,有兩種方法:
①pair<string腿准,int>(“haha”,5)捂龄;
②make_pair(“haha”释涛,5); ? 自帶的make_pair函數(shù)
pair中只有兩個(gè)元素倦沧,分別是first和second唇撬。
兩個(gè)pair類型數(shù)據(jù)可以直接使用==、!=展融、<窖认、<=、>、>=比較大小扑浸,比較規(guī)則是先以first的大小作為標(biāo)準(zhǔn)烧给,只有當(dāng)first相等時(shí)才去判別second的大小。
pair的常見用途:
①用來代替二元結(jié)構(gòu)體及其構(gòu)造函數(shù)喝噪,可以節(jié)省代碼時(shí)間础嫡。
②作為map的鍵值對來進(jìn)行插入。