pair的一些用法

2021-07-09 14:15:01 字數 967 閱讀 7482

1 pair的應用

pair是將2個資料組合成乙個資料,當需要這樣的需求時就可以使用pair。

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

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

2 pair的構造

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的例子程式:

[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

的一些用法

action標籤,顧名思義,是用來呼叫action的標籤,在jsp中頁面中,可以具體指定某一命名空間中的某一action。而標籤的主體用於顯示及渲染actionr的處理結果。action標籤有如下幾個屬性 id 可選屬性,作為該action的引用id name 必選屬性,指定呼叫action nam...

IImage的一些用法

因為美工做出來的圖是png24,帶alpha通道透明的,用傳統的bitblt方法沒有辦法顯示 可能是本人比較笨啦,哈哈 所以採用了iimage的方法來進行畫圖。使用iimage的draw的方法時,要畫區域性是發現總是不對,查了一下msdn,發現是如下的問題。optional const rect s...

gcc 的一些用法

gcc編譯多個原始檔 一.常用編譯命令選項 假設源程式檔名為test.c。3.選項 e 用法 gcc e test.c o test.i 作用 將test.c預處理輸出test.i檔案。4.選項 s 用法 gcc s test.i 作用 將預處理輸出檔案test.i彙編成test.s檔案。5.選項 ...