std::get(std::complex)

来自cppreference.com
< cpp‎ | numeric‎ | complex
 
 
 
 
在标头 <complex> 定义
template< std::size_t I >
friend constexpr T& get( std::complex<T>& x );
(1) (C++26 起)
template< std::size_t I >
friend constexpr const T& get( const std::complex<T>& x );
(2) (C++26 起)
template< std::size_t I >
friend constexpr T&& get( std::complex<T>&& x );
(3) (C++26 起)
template< std::size_t I >
friend constexpr const T&& get( const std::complex<T>&& x );
(4) (C++26 起)

I == 0I == 1 时分别返回对 complex 的实部或虚部的引用。主要为支持结构化绑定而提供。

参数

x - complex

返回值

1-4)I == 0I == 1 时分别返回对所存储的实部或虚部的引用。

注解

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

示例

#include <complex>
 
static_assert([z = std::complex(1.0, 2.0)]
{
#if __cpp_lib_tuple_like >= 202311L
    return std::get<0>(z) == 1.0 and std::get<1>(z) == 2.0;
#else
    return z.real() == 1.0 and z.imag() == 2.0;
#endif
}());
 
int main() {}

参阅

结构化绑定 (C++17) 绑定指定的名字到初始化式的子对象或元组元素
元组式访问指定的元素
(函数模板)
访问 pair 的一个元素
(函数模板)
访问 array 的一个元素
(函数模板)