std::get(std::complex) - cppreference.com
来自cppreference.com
| 在标头 |
||
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 的实部或虚部的引用。主要为支持结构化绑定而提供。
参数
返回值
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() {}