- 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;
}