c 中 pair 的 使用方法

2021-07-25 10:59:27 字數 1495 閱讀 9240

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

template pair make_pair(t1 a, t2 b)

一般make_pair都使用在需要pair做引數的位置,可以直接呼叫make_pair生成pair物件。 另乙個使用的方面就是pair可以接受隱式的型別轉換,這樣可以獲得更高的靈活度。但是這樣會出現如下問題:例如有如下兩個定義:

std::pair(1, 1.1);

std::make_pair(1, 1.1);

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

1#include

2#include

3#include

4usingnamespace std;

56int main ()

其執行結果如下:

1the price of tomatoes is $3.25

2the price of lightbulbs is $0.99

3the price of shoes is $20

01 pair  vs  make_pair

02 make_pair constructs a pair object.

03 template

04 pair make_pair(t1 x, t2 y)

05 08

09 eg:  std::pair("sn001", 12.5);

10        std::make_pair("sn001", 12.5);

11        兩者效果一樣。

12 倘若:std::pair("sn002", 12.6);   // 12.6's datatype is float

13         std::make_pair("sn002",12.6);  // 12.6's datatype is double

14 使用:

15         std::pair m_paira;

16         m_paira = std::make_pair("sn001", 12.5);

17         std::cout小結:make_pair建立的是乙個pair物件。使用都很方便,針對成對出現的資料,如書的isbn對應乙個書名。

pair是單個資料對的操作,pair是一struct型別,有兩個成員變數,通過first,second來訪問,用的是「.」訪問。

map是乙個關聯容器,裡面存放的是鍵值對,容器中每一元素都是pair型別,通過map的insert()方法來插入元素(pair型別)。

C 中pair的使用方法

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

c 中 pair 的 使用方法

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

c 中 pair 的 使用方法

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