std::pair
来自cppreference.com
                    
                                        
                    
                    
                                                            
                    |   定义于头文件  <utility>
  | 
||
|   template<     class T1,  | 
||
std::pair 是类模板,提供在一个单元存储两个相异类型对象的途径。 pair 是 std::tuple 的拥有两个元素的特殊情况。
若 T1 与 T2 都不是可能有 cv 限定的拥有非平凡析构函数的类类型,或其数组,则 pair 的析构函数为平凡。
模板形参
| T1, T2 | - | pair 所存储的元素类型。 | 
成员类型
| 成员类型 | 定义 | 
  first_type
 | 
  T1
 | 
  second_type
 | 
  T2
 | 
成员对象
| 成员名 | 类型 | 
  first
 | 
  T1
 | 
  second
 | 
  T2
 | 
成员函数
|   构造新的 pair  (公开成员函数)  | |
|    对 内容赋值  (公开成员函数)  | |
|    (C++11)  | 
   交换内容   (公开成员函数)  | 
非成员函数
   创建一个 pair 对象,其类型根据各实参类型定义  (函数模板)  | |
|    (C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20)  | 
   按字典序比较 pair 中的值   (函数模板)  | 
|    (C++11)  | 
   特化 std::swap 算法  (函数模板)  | 
|    (C++11)  | 
   访问 pair 的一个元素  (函数模板)  | 
辅助类
|    (C++11)  | 
  获得 pair 的大小  (类模板特化)  | 
   获得 pair 中元素的类型  (类模板特化)  | 
推导指引(C++17 起)
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
| DR | 应用于 | 出版时的行为 | 正确行为 | 
|---|---|---|---|
| LWG 2796 | C++98 |  pair 的析构函数的平凡性未指明
 | 
已指明 | 
参阅
|    (C++11)  | 
  实现固定大小的容器,它保有类型可以相异的元素  (类模板)  | 
   创建左值引用的 tuple,或将 tuple 解包为独立对象 (函数模板)  |