C pair 用法詳解

2021-08-28 10:25:40 字數 1382 閱讀 2797

標準庫型別--pair型別定義在utility標頭檔案中定義

pair包含兩個數值,與容器一樣,pair也是一種模板型別。但是又與之前介紹的容器不同,在建立pair物件時,必須提供兩個型別名,兩個對應的型別名的型別不必相同

pairanon;

pairword_count;

pair>line;

當然也可以在定義時為每個成員提供初始化式:

pairauthor("james","joy");
pair型別的使用相當的繁瑣,如果定義多個相同的pair型別物件,可以使用typedef簡化宣告:

typedef pairauthor;

author proust("march","proust");

author joy("james","joy");

對於pair類,可以直接訪問其資料成員:其成員都是公有的,分別命名為first和second,只需要使用普通的點操作符

string firstbook;

if(author.first=="james" && author.second=="joy")

firstbook="stephen hero";

除了建構函式,標準庫還定義了乙個make_pair函式,由傳遞給它的兩個實參生成乙個新的pair物件

pairnext_auth;

string first,last;

while(cin>>first>>last)

還可以用下列等價的更複雜的操作:

next_auth=pair(first,last);
由於pair的資料成員是公有的,因而可如下直接地讀取輸入:

pairnext_auth;

while(cin>>next_auth.first>>next_auth.last)

練習:編寫程式讀入一系列string和int型資料,將每一組儲存在乙個pair物件中,然後將這些pair物件儲存在vector容器

#include#include#include#includeusing namespace std;

int main()

vp::iterator it;

for(it=vp.begin(); it!=vp.end(); it++)

cout

c pair 用法詳解

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

c pair 用法詳解

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

C pair型別用法

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