std::imag(std::complex)

来自cppreference.com
< cpp‎ | numeric‎ | complex
 
 
 
 
在标头 <complex> 定义
(1)
template< class T >
T imag( const std::complex<T>& z );
(C++14 前)
template< class T >
constexpr T imag( const std::complex<T>& z );
(C++14 起)
额外重载 (C++11 起)
在标头 <complex> 定义
(A)
float       imag( float f );

double      imag( double f );

long double imag( long double f );
(C++14 前)
constexpr float       imag( float f );

constexpr double      imag( double f );

constexpr long double imag( long double f );
(C++14 起)
(C++23 前)
template< class FloatingPoint >
FloatingPoint imag( FloatingPoint f );
(C++23 起)
(B)
template< class Integer >
double imag( Integer i );
(C++14 前)
template< class Integer >
constexpr double imag( Integer i );
(C++14 起)
1) 返回复数 z 的虚部,即 z.imag()
A,B) 为所有整数和浮点类型提供额外重载,将它们当做拥有零虚部的复数。
(C++11 起)

参数

z - 复数值
f - 浮点值
i - 整数值

返回值

1) z 的虚部。
A) decltype(f){}(零)。
B) 0.0

注解

额外重载不需要以 (A,B) 的形式提供。它们只需要能够对它们的实参 num 满足以下要求:

  • 如果 num 具有类型 long double,那么std::imag(num)std::imag(std::complex<long double>(num)) 的效果相同。
  • 否则,如果 num 具有类型 double 或整数类型,那么 std::imag(num)std::imag(std::complex<double>(num)) 的效果相同。
  • 否则,如果 num 具有类型 float,那么 std::imag(num)std::imag(std::complex<float>(num)) 的效果相同。
(C++23 前)
  • 如果 num 具有浮点类型 T,那么 std::imag(num)std::imag(std::complex<T>(num)) 的效果相同。
  • 否则,如果 num 具有整数类型,那么 std::imag(num)std::imag(std::complex<double>(num)) 的效果相同。
(C++23 起)

参阅

访问复数的虚部
(公开成员函数)
返回实部
(函数模板)