std::get(std::complex)
来自 cppreference.cn
定义于头文件 <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 == 0 或 I == 1 时,从 complex
返回对实部或虚部的引用。它主要为结构化绑定支持而提供。
目录 |
[编辑] 参数
x | - | 一个 complex |
[编辑] 返回值
1-4) 当 I == 0 或 I == 1 时,从存储的值返回对实部或虚部的引用。
[编辑] 注释
特性测试 宏 | 值 | Std | 特性 |
---|---|---|---|
__cpp_lib_tuple_like |
202311L |
(C++26) | 向 std::complex 添加 tuple 协议 |
[编辑] 示例
运行此代码
#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) | 将指定的名称绑定到初始值设定项的子对象或 tuple 元素 |
(C++11) |
tuple 访问指定元素 (函数模板) |
(C++11) |
访问 pair 的元素(函数模板) |
(C++11) |
访问 array 的元素(函数模板) |