pair 是 一種模版型別。每乙個pair 能夠儲存兩個值。這兩種值無限制,能夠是tuple。vector ,string,struct等等。
首先來看一下pair的函式
default (1)
constexpr pair();
copy / move (2)
templatepair (const pair& pr);templatepair (pair&& pr);
pair (const pair& pr) = default;
pair (pair&& pr) = default;
initialization (3)
pair (const first_type& a, const second_type& b);templatepair (u&& a, v&& b);
piecewise (4)
template pair (piecewise_construct_t pwc, tuplefirst_args,tuplesecond_args);
// pair template functions
//交換函式
templateinline
void swap(pair<_ty1, _ty2>& _left, pair<_ty1, _ty2>& _right)
//推斷是否相等函式
templateinline
bool operator==(const pair<_ty1, _ty2>& _left,
const pair<_ty1, _ty2>& _right)
//推斷是否不等函式
templateinline
bool operator!=(const pair<_ty1, _ty2>& _left,
const pair<_ty1, _ty2>& _right)
//推斷是否小於函式
templateinline
bool operator<(const pair<_ty1, _ty2>& _left,
const pair<_ty1, _ty2>& _right)
//推斷是否大於函式
templateinline
bool operator>(const pair<_ty1, _ty2>& _left,
const pair<_ty1, _ty2>& _right)
//推斷是否小於等於函式
templateinline
bool operator<=(const pair<_ty1, _ty2>& _left,
const pair<_ty1, _ty2>& _right)
//推斷是否大於等於函式
templateinline
bool operator>=(const pair<_ty1, _ty2>& _left,
const pair<_ty1, _ty2>& _right)
貼一段**:
//pair 定義
pairpair1;
//pair 定義以及賦值一
pairpair2("lily",4);
pairpair3(pair2);
//pair 賦值方式二
pair1=make_pair(string("tom"),3);
//pair 賦值方式三
pair1.first="jim";
pair1.second=2;
//pair 賦值方式四
get<0>(pair1)=string("jim");
get<1>(pair1)=6;
//pair 賦值方式五
swap(pair1,pair3);
//pair 輸出方式一
cout<(pair1)<(pair1)<
C 程式設計 pair(對組)
pair 是 一種模版型別。每個pair 可以儲存兩個值。這兩種值無限制,可以是tuple,vector string,struct等等。首先來看一下pair的函式 default 1 constexpr pair copy move 2 templatepair const pair pr tem...
pair 對組 的使用
pair譯為對組,可以將兩個值視為乙個單元。pair存放的兩個值的型別,可以不一樣,如t1為int,t2為float。t1,t2也可以是自定義型別。pair.first是pair裡面的第乙個值,是t1型別。pair.second是pair裡面的第二個值,是t2型別。構造方法 pairpair1 10...
STL詳解(八) 對組容器pair
pair是stl中的模板型別,它可以儲存兩個元素,它也被稱作 對組 沒有什麼成員函式,源 很簡單。pair 是 二元結構體 的替代品,將兩個元素 在一起,節 省編碼時間。相當於以下定義 struct pair pair將一對值組合成乙個值,就是乙個結構體,但是比結構體更加得靈活,這一對值可以具有不同...