Namespaces
Variants

std:: real (std::complex)

From cppreference.net
Определено в заголовке <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)
Определено в заголовке <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) Для всех целочисленных и вещественных типов предоставлены дополнительные перегрузки, которые обрабатываются как комплексные числа с нулевой мнимой частью.
(since C++11)

Содержание

Параметры

z - комплексное значение
f - значение с плавающей запятой
i - целочисленное значение

Возвращаемое значение

1) Вещественная часть z .
А) f .
Б) static_cast < double > ( i ) .

Примечания

Дополнительные перегрузки не обязаны быть предоставлены именно в виде (A,B) . Они должны быть достаточными только для того, чтобы гарантировать, что для их аргумента num :

  • Если num имеет стандартный (до C++23) тип с плавающей запятой T , тогда std :: real ( num ) имеет тот же эффект, что и std :: real ( std:: complex < T > ( num ) ) .
  • В противном случае, если num имеет целочисленный тип, тогда std :: real ( num ) имеет тот же эффект, что и std :: real ( std:: complex < double > ( num ) ) .

Смотрите также

получает доступ к действительной части комплексного числа
(публичная функция-член)
возвращает мнимую часть
(шаблон функции)