命名空间
变体
操作

类元组, 类对

来自 cppreference.cn
< cpp‎ | 工具‎ | 元组
 
 
 
 
template< class T >
概念 tuple-like = /* 见下文 */;
(1) (C++23 起)
(仅作说明*)
template< class T >

概念 pair-like =

    tuple-like<T> && std::tuple_size_v<std::remove_cvref_t<T>> == 2;
(2) (C++23 起)
(仅作说明*)
1) 若类型 T 满足概念 tuple-like,则 std::remove_cvref_t<T> 是下列类型之一的特化:
(C++26 起)
2) pair-like 对象是恰好包含 2 个元素的 tuple-like 对象。

[编辑] 注解

tuple-like 类型实现了元组协议,即这些类型可以与 std::getstd::tuple_elementstd::tuple_size 一同使用。

tuple-like 类型的元素可以通过结构化绑定进行绑定。

[编辑] 参阅

tuple-likepair-like 在下列标准库组件中使用

构造一个新的 tuple
(公开成员函数) [编辑]
将一个 tuple 的内容赋值给另一个
(公开成员函数) [编辑]
(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20)
按字典序比较 tuple 中的值
(函数模板) [编辑]
确定 tupletuple-like 类型的通用引用类型
(类模板特化) [编辑]
确定 tupletuple-like 类型的通用类型
(类模板特化) [编辑]
(C++11)
通过连接任意数量的 tuple 创建一个 tuple
(函数模板) [编辑]
(C++17)
使用参数元组调用函数
(函数模板) [编辑]
用元组参数构造对象
(函数模板) [编辑]
构造新的 pair
(std::pair<T1,T2> 的公开成员函数) [编辑]
赋值内容
(std::pair<T1,T2> 的公开成员函数) [编辑]
subrange 转换为pair-like 类型
(std::ranges::subrange<I,S,K> 的公开成员函数) [编辑]
接受一个由tuple-like 值组成的view和一个数字 N,生成一个由每个元组的第 N 个元素组成的view
(类模板) (范围适配器对象)[编辑]