std::pair
成员函数 | ||||
(C++11)
|
||||
非成员函数 | ||||
(C++20
前)(C++20
前)(C++20
前)(C++20
前)(C++20
前)(C++20)
|
||||
(C++11)
|
||||
(C++11)
|
||||
推导指引(C++17) | ||||
辅助类 | ||||
(C++11)
|
||||
(C++11)
|
||||
(C++23)
|
||||
(C++23)
|
在标头
<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 的大小 (类模板特化) |
(C++11)
|
获得 pair 中元素的类型 (类模板特化) |
确定两个 pair 的共同引用类型 (类模板特化) |
|
(C++23)
|
确定两个 pair 的共同类型 (类模板特化) |
推导指引(C++17 起)
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
LWG 2796 | C++98 | pair 的析构函数的平凡性未指明
|
已指明 |
参阅
(C++11)
|
实现固定大小的容器,它保有类型可以相异的元素 (类模板) |
(C++11)
|
创建左值引用的 tuple ,或将 tuple 解包为独立对象 (函数模板) |