例說資料結構&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
相關文章
- 資料結構:線性表-例題資料結構
- 傳說中的資料結構_JAVA資料結構Java
- 資料結構與演算法(十三)——紅黑樹2資料結構演算法
- 資料結構與演算法(十三)——紅黑樹1資料結構演算法
- 【PG結構】Postgresql資料庫資料目錄說明SQL資料庫
- 從一條資料說起——InnoDB儲存資料結構資料結構
- 說說你對資料結構的理解?有哪些?區別?資料結構
- 結構化資料、半結構化資料和非結構化資料
- 2. STL容器結構與分類
- 【資料結構篇】認識資料結構資料結構
- 自學 資料結構四月二十三日_線性結構之順序表(2)資料結構
- 【資料結構與演算法】通俗易懂說連結串列資料結構演算法
- 侯捷C++ STL體系結構與原始碼剖析:關於moveable的說明C++原始碼
- 資料結構小白系列之資料結構概述資料結構
- 資料結構資料結構
- Redis 5種資料結構及其使用場景舉例--STRINGRedis資料結構
- 【學習】體系結構-001-例項與資料庫資料庫
- 資料結構與演算法-資料結構(棧)資料結構演算法
- 【PHP資料結構】PHP資料結構及演算法總結PHP資料結構演算法
- leetcode演算法資料結構題解---資料結構LeetCode演算法資料結構
- pairAI
- 資料結構:用例項分析ArrayList與LinkedList的讀寫效能資料結構
- 【資料結構與演算法】Trie(字首樹)模板和例題資料結構演算法
- 資料結構——樹資料結構
- Redis資料結構Redis資料結構
- 資料結構-樹資料結構
- 資料結構-Tree資料結構
- Python資料結構Python資料結構
- 資料結構-堆資料結構
- 資料結構-集合資料結構
- 資料結構 - 字串資料結構字串
- 資料結構---串資料結構
- 資料結構-棧資料結構
- Map 資料結構資料結構
- 【模板】資料結構資料結構
- 模板 - 資料結構資料結構
- 14 資料結構資料結構
- 資料結構 - 堆資料結構
- [資料結構]堆資料結構