例說資料結構&STL(十三)——pair

無鞋童鞋發表於2017-08-19

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

相關文章