C 11中pair的用法

2021-10-03 18:55:28 字數 1594 閱讀 7118

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很直觀,但當引數為復合型別的時候就應該注意一些使...