c 中pair類模板的用法詳解

2021-08-07 18:02:22 字數 1944 閱讀 1201

pair:

標頭檔案:#include

類模板:template struct pair

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

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

具體用法:

1.例項化:

[cpp]view plain

copy

print?

pairp1("hello","word"); //呼叫default constructor

pair    p2(1.0,1);//呼叫constructor

pair    p3(p2); //呼叫 copy

pairp1("hello","word"); //呼叫default constructor

pairp2(1.0,1);//呼叫constructor

pairp3(p2); //呼叫 copy

2.物件的賦值以及make_pair()的應用:

[cpp]view plain

copy

print?

pairp1;  

pairp2("good","good");  

p1= p2;  

p1= make_pair("hello","word");  

p1 = pair("nice","nice");  

pairp1;

pairp2("good","good");

p1= p2;

p1= make_pair("hello","word");

p1 = pair("nice","nice");

3.pair中元素的訪問(first & second):

[cpp]view plain

copy

print?

pair    p1(1.0,2);  

pairp2("hello","word");  

int i = p1.second;  // i = 2

double d = p1.first; // d = 1.0

string s1 = p2.first; // s1 = hello

string s2 = p2.second; // word

pairp1(1.0,2);

pairp2("hello","word");

int i = p1.second; // i = 2

double d = p1.first; // d = 1.0

string s1 = p2.first; // s1 = hello

string s2 = p2.second; // word

4.pair陣列與元素排序:

[cpp]view plain

copy

print?

#include

#include

#include

using

namespace std;  

pairpa[100];  

int cmp(paira,pairb)  

int main()  

#include#include#includeusing namespace std;

pairpa[100];

int cmp(paira,pairb){

if(a.first!=b.first)return a.first>b.first;

else return a.second

C 中Pair模板類的使用

pair模板類的使用於vector基本上差不多,下面po出我的 只是簡單操作,後面有時間會繼續補充其他函式的操作。include stdafx.h include include using namespace std class point 3d int main int y int z vect...

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...