- utility[meta header]
- std[meta namespace]
- class template[meta id-type]
namespace std {
template <class T1, class T2>
struct pair;
}
pairは、2つの異なる型の値を保持する「組」を表現するためのクラスである。また、N個の異なる型の値を保持する「タプル」を表現するためのクラスとして、tupleクラスも提供されている。
標準ライブラリにおいてpairは、連想配列コンテナの実装であるmapクラスやunordered_mapクラスで、キーと値をまとめるためのデータ型として使用されている。
| 名前 |
説明 |
対応バージョン |
T1 first |
1つめの要素 |
|
T2 second |
2つめの要素 |
|
| 名前 |
説明 |
対応バージョン |
first_type |
T1 |
|
second_type |
T2 |
|
| 名前 |
説明 |
対応バージョン |
swap |
2つのpairオブジェクトを入れ替える |
|
| 名前 |
説明 |
対応バージョン |
tuple_size |
pairの要素数を取得する(class template) |
C++11 |
tuple_element |
pairのi番目の要素型を取得する(class template) |
C++11 |
get |
pairのi番目の要素を参照する(function template) |
C++11 |
#include <iostream>
#include <utility>
#include <string>
int main()
{
// pairオブジェクトの構築
std::pair<int, std::string> p = std::make_pair(1, "hello");
// 要素の参照
std::cout << p.first << std::endl;
std::cout << p.second << std::endl;
}