在學習關聯容器之前,首先要了解 stl 中的 pair 類模板,因為關聯容器的一些成員函式的返回值是 pair 物件,而且 map 和 multimap 容器中的元素都是 pair 物件。pair 的定義如下:
template
struct pair
//用無參建構函式初始化 first 和 second
pair
(const _t1 &__a,
const _t2 &__b)
:first
(__a)
,second
(__b)
template
pair
(const pair <_u1, _u2>
&__p)
:first
(__p.first)
,second
(__p.second)
};
pair例項化出來的類都有兩個成員變數,乙個是 first, 乙個是 second。
stl 中還有乙個函式模板 make_pair,其功能是生成乙個 pair 模板類物件。make_pair 的源**如下:
template
<
classt1,
class
t2>
pair
make_pair
(t1 x, t2 y)
下面的程式演示了 pair 和 make_pair 的用法。
#include
using
namespace std;
intmain()
pair 模板中的第三個建構函式是函式模板,引數必須是乙個 pair 模板類物件的引用。程式中第 9 行的 p3 就是用這個建構函式初始化的。 類模板 模板類
下面定義的是類模板,用int例項化t後成為模板類。例項化類模板的語法 類名 模板實參表 結合下例即 array就是將類模板array例項化為模板類的語法。類模板 include using namespace std templateclass array array t operator int ...
c pair 用法詳解
原文出處 標準庫型別 pair型別定義在utility標頭檔案中定義 pair包含兩個數值,與容器一樣,pair也是一種模板型別。但是又與之前介紹的容器不同,在建立pair物件時,必須提供兩個型別名,兩個對應的型別名的型別不必相同 pairanon pair word count pair line...
C pair型別用法
原文出處 標準庫型別 pair型別定義在utility標頭檔案中定義 pair包含兩個數值,與容器一樣,pair也是一種模板型別。但是又與之前介紹的容器不同,在建立pair物件時,必須提供兩個型別名,兩個對應的型別名的型別不必相同 pairanon pairword count pair line ...