例說資料結構&STL(十三)——pair
1 pair型別概述
pair的功能就像它的名字一樣,pair將一對值組合成一個值,這一對值可以具有不同的資料型別,兩個值可以分別用pair的兩個公有函式first和second訪問。
1.1 pair型別概述
pair類所在的標頭檔案與命名函式是:
#include <utility>
1.2 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");
1.3 pair物件訪問
對於pair類,由於它只有兩個元素,分別名為first和second,因此直接使用普通的點操作符即可訪問其成員
pair<string, string> a("Lily", "Poly");
string name;
name = pair.second;
1.4 生成新的pair物件
可以使用make_pair對已存在的兩個資料構造一個新的pair型別:
int a = 8;
string m = "James";
pair<int, string> newone;
newone = make_pair(a, m);
2 小結
上面介紹了STL中pair型別,經常與其他資料結構list或者vector結合使用,對於需要兩兩同時訪問的非常方便,無需自己構造結構體。
以上是個人學習記錄,由於能力和時間有限,如果有錯誤望讀者糾正,謝謝!
轉載請註明出處:http://blog.csdn.net/FX677588/article/details/77417585
相關文章
- 例說資料結構&STL(一)——vector資料結構
- 例說資料結構&STL(二)——list資料結構
- 例說資料結構&STL(三)——deque資料結構
- 例說資料結構&STL(四)——queue資料結構
- 例說資料結構&STL(五)——stack資料結構
- 例說資料結構&STL(六)——heap資料結構
- 例說資料結構&STL(八)——set資料結構
- 例說資料結構&STL(九)——map資料結構
- 例說資料結構&STL(十二)——iterator資料結構
- 例說資料結構&STL(七)——priority_queue資料結構
- 例說資料結構&STL(十)——hash_set/unordered_set資料結構
- 例說資料結構&STL(十一)——hash_map/unordered_map資料結構
- STL::pairAI
- 《STL原始碼剖析》-- stl_pair.h原始碼AI
- STL中經常使用資料結構資料結構
- 傳說中的資料結構_JAVA資料結構Java
- 資料結構與演算法(十三)——紅黑樹1資料結構演算法
- 資料結構與演算法(十三)——紅黑樹2資料結構演算法
- 資料結構:線性表-例題資料結構
- 【PG結構】Postgresql資料庫資料目錄說明SQL資料庫
- 從一條資料說起——InnoDB儲存資料結構資料結構
- 關於架構離不開資料結構之說架構資料結構
- 說說你對資料結構的理解?有哪些?區別?資料結構
- ECshop 每個資料庫表結構說明資料庫
- STL(二十三)排序演算法排序演算法
- 自學 資料結構四月二十三日_線性結構之順序表(2)資料結構
- 結構化資料、半結構化資料和非結構化資料
- 【資料結構篇】認識資料結構資料結構
- 【資料結構與演算法】通俗易懂說連結串列資料結構演算法
- 侯捷C++ STL體系結構與原始碼剖析:關於moveable的說明C++原始碼
- 2. STL容器結構與分類
- 資料結構小白系列之資料結構概述資料結構
- 資料結構?資料結構
- 資料結構資料結構
- Oracle例項和Oracle資料庫(Oracle體系結構)Oracle資料庫
- 資料結構與演算法-資料結構(棧)資料結構演算法
- 2 Day DBA-管理Oracle例項-管理資料庫儲存結構-關於資料庫儲存結構Oracle資料庫
- 資料結構 關於B樹說明及插入和分裂資料結構