C pair的常見用法(詳細)

2021-10-18 13:20:08 字數 1764 閱讀 1832

1.pair 預設對first公升序,當first相同時對second公升序;

類模板:template struct pair

引數:t1是第乙個值的資料型別,t2是第二個值的資料型別。

功能:pair將一對值組合成乙個值,這一對值可以具有不同的資料型別(t1和t2),兩個值可以分別用pair的兩個公有函式first和second訪問。

pair實際上可以看作乙個內部有兩個元素的結構體,且這兩個元素的型別是可以指定的

struct pair

;

2…定義(構造):
pair<

int,

double

> p1;

//使用預設建構函式

pair<

int,

double

>p2(

1,2.4)

;//用給定值初始化

pair<

int,

double

>

p3(p2)

;//拷貝建構函式

2.訪問兩個元素(通過first和second):
pair<

int,

double

> p1;

//使用預設建構函式

p1.first =1;

p1.second =

2.5;

cout << p1.first <<

' '<< p1.second << endl;

3.賦值 :
//(1)利用make_pair:

pair<

int,

double

> p1;

p1 =

make_pair(1

,1.2);

//(2)變數間賦值:

pair<

int,

double

>p1(

1,1.2)

;pair<

int,

double

> p2 = p1;

4.示例
#include

#include

#include

#include

#include

#define mem(x,y) memset(x,y,sizeof(x))

using

namespace std;

typedef

long

long ll;

const

int inf=

0x3f3f3f3f

;pair<

int,

int>pa[

100]

;//定義

intcmp

(pair<

int,

int>a,pair<

int,

int>b)

intmain()

sort

(pa,pa+

5,cmp)

;//排序

for(

int i=

0;i<

5;i++

)printf

("%d %d\n"

,pa[i]

.first,pa[i]

.second)

;return0;

}

c pair的用法總結

定義和構造 乙個pair相當與乙個資料而不是一組資料,不是和map一樣,而是相當於乙個int型別的資料。pairp1 使用預設建構函式 pairp2 1,2.4 用給定值初始化 pairp3 p2 拷貝建構函式訪問兩個元素 通過first和second pairp1 使用預設建構函式 p1.firs...

C pair的基本用法

本文 pair是將2個資料組合成一組資料,當需要這樣的需求時就可以使用pair,如stl中的map就是將key和value放在一起來儲存。另乙個應用是,當乙個函式需要返回2個資料的時候,可以選擇pair。pair的實現是乙個結構體,主要的兩個成員變數是first second 因為是使用struct...

c pair 用法詳解

原文出處 標準庫型別 pair型別定義在utility標頭檔案中定義 pair包含兩個數值,與容器一樣,pair也是一種模板型別。但是又與之前介紹的容器不同,在建立pair物件時,必須提供兩個型別名,兩個對應的型別名的型別不必相同 pairanon pair word count pair line...