类模板特化
<utility>

std::tuple_element<pair>

unspecialized
template <size_t I, class Tpl> class tuple_element;
access first
template <class T1, class T2>  struct tuple_element <0, pair<T1,T2>>;
access second
template <class T1, class T2>  struct tuple_element <1, pair<T1,T2>>;
pair 的元组元素类型
访问 pair 对象的成员的静态类型,就像它是一个 tuple 一样。

这些类特化仅提供一个名为 type 的成员,该成员是 T1T2 的别名,就像定义为
1
2
3
4
5
6
7
template <size_t I, class Tpl> class tuple_element;

template <class T1, class T2> struct tuple_element <0, pair<T1,T2>>
{ typedef T1 type; };

template <class T1, class T2> struct tuple_element <1, pair<T1,T2>>
{ typedef T2 type; };

请参阅 tuple_element 了解更多信息。

模板参数

I
pair 中元素的顺序编号(从零开始)。
这是 0,用于访问成员 first 的类型,1 用于访问成员 second 的类型。
如果使用任何其他值实例化,则程序是非良构的
size_t 是一个无符号整数类型。
Tpl
类似元组的类型。 对于这些特化:pair<T1,T2>
T1, T2
pair 中元素的类型。
别名为成员 type

成员类型

成员类型定义
类型如果 I0,则为 T1,如果 I1,则为 T2

另见