談談C++學習之Pair的運用辦法。本站提示廣大學習愛好者:(談談C++學習之Pair的運用辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是談談C++學習之Pair的運用辦法正文
一、Pair類型概述
pair是一種模板類型,其中包括兩個數據值,兩個數據的類型可以不同,根本的定義如下:
pair<int, string> a;
表示a中有兩個類型,第一個元素是int型的,第二個元素是string類型的,假如創立pair的時分沒有對其停止初始化,則調用默許結構函數對其初始化。
pair<string, string> a("James", "Joy");
也可以像下面一樣在定義的時分直接對其初始化。
由於pair類型的運用比擬繁瑣,由於假如要定義多個形同的pair類型的時分,可以時分typedef簡化聲明:
typedef pair<string, string> author; author pro("May", "Lily"); author joye("James", "Joyce");
二、Pair對象的操作
1、關於pair類,由於它只要兩個元素,辨別名為first和second,因而直接運用普通的點操作符即可訪問其成員
pair<string, string> a("Lily", "Poly"); string name; name = pair.second;
2、生成新的pair對象
可以運用make_pair對已存在的兩個數據結構一個新的pair類型:
int a = 8; string m = "James"; pair<int, string> newone; newone = make_pair(a, m);
三、編程理論
練習:編寫順序讀入一系列string和int型數據,將每一組存儲在一個pair對象中,然後將這些pair對象存儲在vector容器
#include<iostream> #include<string> #include<vector> #include<utility> using namespace std; int main() { pair<string, int>p; typedef vector< pair<string, int> > VP; VP vp; while(cin>>p.first>>p.second) { vp.push_back(make_pair(p.first,p.second)); } VP::iterator it; for(it=vp.begin(); it!=vp.end(); it++) cout<<it->first<<","<<it->second<<endl; return 0; }
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支持。