c++11 标准模板(STL)(std::pair)(一)

std::pair

定义于头文件

template<

    class T1,
    class T2

> struct pair;

std::pair 是一个结构体模板,其可于一个单元存储两个相异对象。 pair 是 std::tuple 的拥有两个元素的特殊情况。

若 std::is_trivially_destructible_v && std::is_trivially_destructible_v 为 true ,则 pair 的析构函数为平凡。

(C++17 起)

模板形参

T1, T2 - pair 所存储的元素类型。

成员类型

成员类型 定义
first_type T1
second_type T2

成员对象

成员名 类型
first T1
second T2

成员函数

(构造函数)

构造新的 pair
(公开成员函数)

operator=

对 内容赋值
(公开成员函数)

swap

(C++11)

交换内容
(公开成员函数)

非成员函数

make_pair

创建一个 pair 对象,其类型根据各实参类型定义
(函数模板)

operator==operator!=operatoroperator>=

按字典序比较 pair 中的值
(函数模板)

std::swap(std::pair)

(C++11)

特化 std::swap 算法
(函数模板)

std::get(std::pair)

(C++11)

访问 pair 的一个元素
(函数模板)

辅助类

std::tuple_size

(C++11)

获得pair的大小
(类模板特化)

std::tuple_element

(C++11)

获得pair中元素的类型
(类模板特化)

推导指引(C++17 起)

参阅

tuple

(C++11)

实现固定大小的容器,它保有类型可以相异的元素
(类模板)

tie

创建左值引用的 tuple,或将 tuple 解包为独立对象
(函数模板)

std::pair 的推导指引 

template
pair(T1, T2) -> pair;

(C++17 起)

为 std::pair 提供一个推导指引,以涵盖隐式推导指引所遗漏的极端情况。

特别是不可复制参数及数组到指针转换。

你可能感兴趣的:(#,std::pair,c++,标准库模板,STL,pair,tuple)