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 起) |
当 I == 0 或 I == 1 时分别返回对 complex
的实部或虚部的引用。主要为支持结构化绑定而提供。
参数
x | - | complex
|
返回值
1-4) 当 I == 0 或 I == 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) | 绑定指定的名字到初始化式的子对象或元组元素 |
(C++11) |
元组式访问指定的元素 (函数模板) |
(C++11) |
访问 pair 的一个元素 (函数模板) |
(C++11) |
访问 array 的一个元素 (函数模板) |