C 中pair的使用

2021-08-16 07:28:26 字數 994 閱讀 1749

1 為什麼用到pair?

pair是將2個資料組合成乙個資料,兩個資料可以是同一型別或者不同型別。當需要這樣的需求時就可以使用pair。

(1)stl中的map就是將key和value放在一起來儲存。

(2)另乙個應用是,當乙個函式需要返回2個資料的時候,可以選擇pair。

2 pair怎麼用?

pair實質上是乙個結構體,其主要的兩個成員變數是first和second,這兩個變數可以直接使用。初始化乙個pair可以使用建構函式,也可以使用可以使用如下兩種方法初始化pair:

(1)pair變數名(a,b)   其中a和b分別對應t1和t2型別。

(2)make_pair函式,函式定義如下:

template pair make_pair(t1 a, t2 b)

一般make_pair都使用在需要pair做引數的位置,可以直接呼叫make_pair生成pair物件。 

3 使用pair需要注意的地方:

pair可以接受隱式的型別轉換,這樣可以獲得更高的靈活度。但是可能會出現如下問題:例如有如下兩個定義:

std::pair(1, 1.1);

std::make_pair(1, 1.1);

其中第乙個的second變數是float型別,而make_pair函式會將second變數都轉換成double型別。這個問題在程式設計是需要引起注意。

下面是一段pair與make_pair的例子程式:

[cpp]view plain

copy

#include 

#include 

#include 

usingnamespace std;  

intmain ()   

其執行結果如下:

the price of tomatoes is $3.25

the price of lightbulbs is $0.99

the price of shoes is $20

c 中 pair 的 使用方法

std pair主要的作用是將兩個資料組合成乙個資料,兩個資料可以是同一型別或者不同型別。例如std pair或者 std pair等。pair實質上是乙個結構體,其主要的兩個成員變數是first和second,這兩個變數可以直接使用。初始化乙個pair可以使用建構函式,也可以使用std make ...

C 中pair的使用方法

原 pair的型別 pair 是 一種模版型別。每個pair 可以儲存兩個值。這兩種值無限制。也可以將自己寫的struct的物件放進去。pair p pair p pair p 都可以。應用 如果乙個函式有兩個返回值 的話,如果是相同型別,就可以用陣列返回,如果是不同型別,就可以自己寫個struct...

c 中 pair 的 使用方法

pair的型別 pair 是 一種模版型別。每個pair 可以儲存兩個值。這兩種值無限制。也可以將自己寫的struct的物件放進去。pairp pairp pairp 都可以。應用 如果乙個函式有兩個返回值 的話,如果是相同型別,就可以用陣列返回,如果是不同型別,就可以自己寫個struct 但為了方...