Namespaces
Variants

std:: imag (std::complex)

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

Содержание

Параметры

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

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

1) Мнимая часть z .
А) decltype ( f ) { } (ноль).
Б) 0.0 .

Примечания

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

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

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

обращается к мнимой части комплексного числа
(public member function)
возвращает действительную часть
(function template)
C documentation для cimag