std::get(std::complex)
来自 cppreference.com
定义在头文件 <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 起) |
返回从 complex
中获取实部或虚部的引用,当 I == 0 或 I == 1 时分别返回。它主要用于结构化绑定支持。
内容 |
[编辑] 参数
x | - | 一个 complex |
[编辑] 返回值
1-4) 当 I == 0 或 I == 1 时,分别返回存储的实部或虚部的引用。
[编辑] 说明
功能测试 宏 | 值 | Std | 功能 |
---|---|---|---|
__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) | 将指定的名称绑定到初始化器的子对象或元组元素 |
(C++11) |
元组访问指定元素 (函数模板) |
(C++11) |
访问 pair 的元素(函数模板) |
(C++11) |
访问 array 的元素(函数模板) |