std::real(std::complex)

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

double      real( double f );

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

constexpr double      real( double f );

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

参数

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

返回值

1) z 的实部。
A) f
B) static_cast<double>(i)

注解

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

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

参阅

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