std::tuple_size<std::complex>

来自cppreference.com
< cpp‎ | numeric‎ | complex
 
 
 
 
在标头 <complex> 定义
template<class T >

struct tuple_size<std::complex<T>>

    :std::integral_constant<std::size_t, 2>{};
(C++26 起)

std::tuple_size 针对 std::complex 的部分特化提供了在编译时使用元组式语法获取一个 complex 的组分数量的方法,其总是 2。为支持结构化绑定而提供它们。

目录

继承自 std::integral_constant

成员常量

value
[静态]
the constant value 2
(公开静态成员常量)

成员函数

operator std::size_t
将对象转换到 std::size_t,返回 value
(公开成员函数)
operator()
(C++14)
返回 value
(公开成员函数)

成员类型

类型 定义
value_typestd::size_t
typestd::integral_constant<std::size_t, value>

[编辑]注解

功能特性测试标准功能特性
__cpp_lib_tuple_like202311L(C++26)std::complex 添加元组协议

[编辑]示例

#include <complex>   static_assert(std::tuple_size_v<std::complex<float>>==2);   static_assert([]{usingnamespace std::literals;auto[re, im]=-1.5+ 2.5i;return re ==-1.5&& im ==2.5;}());   static_assert([]{usingnamespace std::literals;auto z =std::complex<double>{};auto&[re, im]= z; re =1.0; im =2.0;return z ==1.0+ 2.0i;}());   int main(){}

[编辑]参阅

结构化绑定(C++17) 绑定指定的名字到初始化式的子对象或元组元素[编辑]
(C++11)
获得元组式类型的元素数量
(类模板)[编辑]
获取 std::complex 的底层实部和虚部的数值类型
(类模板特化)[编辑]
std::complex 获取到实部或虚部的引用
(函数模板)[编辑]
close