pair p1;
//建立乙個空的pair物件(使用預設構造),它的兩個元素分別是t1和t2型別,採用值初始化。
pair
p1(v1, v2)
;//建立乙個pair物件,它的兩個元素分別是t1和t2型別,其中first成員初始化為v1,second成員初始化為v2。
make_pair
(v1, v2)
;// 以v1和v2的值建立乙個新的pair物件,其元素型別分別是v1和v2的型別。
p1 < p2;
// 兩個pair物件間的小於運算,其定義遵循字典次序:如 p1.first < p2.first 或者 !(p2.first < p1.first) && (p1.second < p2.second) 則返回true。
p1 == p2; // 如果兩個物件的first和second依次相等,則這兩個物件相等;該運算使用元素的==操作符。
p1.first;
// 返回物件p1中名為first的公有資料成員
p1.second;
// 返回物件p1中名為second的公有資料成員
get<
0>
(p1)
;// 等價於p1.first;(始自c++11)
get<
0>
(p1)
;// 等價於p1.second;(始自c++11)
tuple_sizeint,
float
>>
::value // 獲取pair的元素個數
tuple_element<
0, pair<
int,
float
>>
::type // 獲取指定元素的資料型別
宣告:
pair anon;
// 建立乙個空物件anon,兩個元素型別都是string
pairint> word_count;
// 建立乙個空物件 word_count, 兩個元素型別分別是string和int型別
pairint>
> line;
// 建立乙個空物件line,兩個元素型別分別是string和vector型別
初始化:
pair<
int,
double
>p1(
1,1.2)
;pair<
int,
double
> p2 = p1;
// 拷貝構造初始化
pair<
int,
double
>
p3(p1)
;// 拷貝構造初始化
訪問pair的兩個元素:
#include
using
namespace std;
intmain()
輸出:
1 2
3 4
C 中 pair 的用法
include include includeusing namespace std pair簡單講就是將兩個資料整合成乙個資料 本質上是有first,second兩個成員變數的結構體 int main for map iterator it mb.begin it mb.end it return...
C 中pair的用法
c 中pair的用法 一 概述 pair是將2個資料組合成乙個資料,當需要這樣的需求時就可以使用pair,如stl中的map就是將key和value放在一起來儲存。另乙個應用是,當乙個函式需要返回2個資料的時候,可以選擇pair。pair的實現是一種結構體,主要的兩個成員變數是first,secon...
C 11中的decltype用法注意
感謝這位博主的分享 c 11新特性 decltype decltype是c 11新增的乙個新的關鍵字,目的是選擇並返回運算元的資料型別,重要的是,在此過程中編譯器分析表示式並得到它的型別,卻不實際計算表示式的值。對於內建型別的物件,使用decltype很直觀,但當引數為復合型別的時候就應該注意一些使...