C++容器(三):pair类型
生活随笔
收集整理的這篇文章主要介紹了
C++容器(三):pair类型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
pair類型
在開始介紹關聯容器之前,我們有必要了解一種與之相關的標準庫類型–pair類型。
| pair<T1, T2> p1 | 創建一個空的pair對象,它的兩個元素分別為T1和T2類型,采用值初始化 |
| pair<T1, T2> p1(v1, v2) | 創建一個pair對象,它的兩個元素分別是T1和T2類型,其中first成員初始化為v1,second成員初始化為v2 |
| make_pair(v1,v2) | 以v1和v2創建一個新的pair對象,其元素類型分別是v1和v2的類型 |
| p1 < p2 | 兩個pair對象之間的小于運算,其定義遵循字典順序:如果p1.first < p2.first或者!(p2.first < p1.first) && p1.second < p2.second,則返回true |
| p1 == p2 | 如果兩個pair對象的first和second成員依次相等,則兩個對象相等,返回true |
| p.first | 返回p中名為first的(公有)數據成員 |
| p.second | 返回p中名為second的(公有)數據成員 |
pair類型包含兩個數據值,與容器一樣,pair也是一種模板類型。在創建pair對象時,必須提供兩個類型名:pair對象所包含的兩個數據成員各自對應的類型名字,這兩個類型名字不必相同:
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>如果在創建pair對象時不提供初始化式,則調用默認構造函數對其成員采用值初始化。當然,也可以定義時提供初始化式:
pair<string, string> author("James", "Joyce");// or use typedef typedef pair<string, string> Author; Author author("Marcel", "Joyce");生成新的pair對象,除了上述的利用構造函數方法外,標準庫中定義的make_pair函數,由傳遞給它的兩個實參生成一個新的pair對象:
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;
參考文獻:
- 《C++ Primer中文版(第四版)》,Stanley B.Lippman et al. 著, 人民郵電出版社,2013。
轉載于:https://www.cnblogs.com/hehehaha/p/6332238.html
總結
以上是生活随笔為你收集整理的C++容器(三):pair类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Rust的随机数
- 下一篇: cocos2d-x 3.1.1 学习笔记