◐ Shell
clean mode source ↗

std::pair - cppreference.com

来自cppreference.com

template<
    class T1,
    class T2
> struct pair;

std::pair 是类模板,提供将两个异质对象作为一个单元存储的途径。pair 是 std::tuple 的拥有两个元素的特殊情况。

T1T2 都不是可能有 cv 限定的拥有非平凡析构函数的类类型或其数组,则 pair 的析构函数为平凡的。

模板形参

成员类型

成员类型 定义
first_type T1
second_type T2

成员对象

成员名 类型
first T1
second T2

成员函数

非成员函数

辅助类

辅助特化

template< class T, class U >
constexpr bool enable_nonlocking_formatter_optimization<std::pair<T, U>> =
    enable_nonlocking_formatter_optimization<T> &&
    enable_nonlocking_formatter_optimization<U>;
(C++23 起)

这个 std::enable_nonlocking_formatter_optimization 针对 TU 都已启用的 pair 对象的打印启用 std::printstd::println 的高效实现。

推导指引(C++17 起)

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 2796 C++98 pair 的析构函数的平凡性未指明 已指明

参阅

实现固定大小的容器,可保有类型相异的元素
(类模板) [编辑]
创建左值引用的 std::tuple,或将元组解包为独立对象
(函数模板) [编辑]