C++容器(三):pair类型
生活随笔
收集整理的這篇文章主要介紹了
C++容器(三):pair类型
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
pair類型
在開始介紹關(guān)聯(lián)容器之前,我們有必要了解一種與之相關(guān)的標(biāo)準(zhǔn)庫(kù)類型–pair類型。
| pair<T1, T2> p1 | 創(chuàng)建一個(gè)空的pair對(duì)象,它的兩個(gè)元素分別為T1和T2類型,采用值初始化 |
| pair<T1, T2> p1(v1, v2) | 創(chuàng)建一個(gè)pair對(duì)象,它的兩個(gè)元素分別是T1和T2類型,其中first成員初始化為v1,second成員初始化為v2 |
| make_pair(v1,v2) | 以v1和v2創(chuàng)建一個(gè)新的pair對(duì)象,其元素類型分別是v1和v2的類型 |
| p1 < p2 | 兩個(gè)pair對(duì)象之間的小于運(yùn)算,其定義遵循字典順序:如果p1.first < p2.first或者!(p2.first < p1.first) && p1.second < p2.second,則返回true |
| p1 == p2 | 如果兩個(gè)pair對(duì)象的first和second成員依次相等,則兩個(gè)對(duì)象相等,返回true |
| p.first | 返回p中名為first的(公有)數(shù)據(jù)成員 |
| p.second | 返回p中名為second的(公有)數(shù)據(jù)成員 |
pair類型包含兩個(gè)數(shù)據(jù)值,與容器一樣,pair也是一種模板類型。在創(chuàng)建pair對(duì)象時(shí),必須提供兩個(gè)類型名:pair對(duì)象所包含的兩個(gè)數(shù)據(jù)成員各自對(duì)應(yīng)的類型名字,這兩個(gè)類型名字不必相同:
pair<string, string> strs; // holds two string pair<string, int> wordCount; // holds a string and an int pair<string, vector<int>> line; // holds a string and a vector<int>如果在創(chuàng)建pair對(duì)象時(shí)不提供初始化式,則調(diào)用默認(rèn)構(gòu)造函數(shù)對(duì)其成員采用值初始化。當(dāng)然,也可以定義時(shí)提供初始化式:
pair<string, string> author("James", "Joyce");// or use typedef typedef pair<string, string> Author; Author author("Marcel", "Joyce");生成新的pair對(duì)象,除了上述的利用構(gòu)造函數(shù)方法外,標(biāo)準(zhǔn)庫(kù)中定義的make_pair函數(shù),由傳遞給它的兩個(gè)實(shí)參生成一個(gè)新的pair對(duì)象:
pair<string, string> nextAuthor; string first, second; while( cin >> first >> second) {// generate a pair from first and lastnextAuthor = make_pair( first, second );// process nextAuthor ... }// or nextAuthor = pair<string, string>(first, second);// or cin >> nextAuthor.first >> nextAuthor.second;
參考文獻(xiàn):
- 《C++ Primer中文版(第四版)》,Stanley B.Lippman et al. 著, 人民郵電出版社,2013。
轉(zhuǎn)載于:https://www.cnblogs.com/hehehaha/p/6332238.html
總結(jié)
以上是生活随笔為你收集整理的C++容器(三):pair类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Rust的随机数
- 下一篇: cocos2d-x 3.1.1 学习笔记