Namespaces
Variants
Actions

std::complex<T>::imag

From cppreference.com
< cpp‎ | numeric‎ | complex
 
 
 
 
primary template std::complex<T>
(1)
T imag()const;
(until C++14)
constexpr T imag()const;
(since C++14)
(2)
void imag( T value );
(until C++20)
constexprvoid imag( T value );
(since C++20)
specialization std::complex<float>
(1)
float imag()const;
(until C++11)
constexprfloat imag()const;
(since C++11)
(2)
void imag(float value );
(until C++20)
constexprvoid imag(float value );
(since C++20)
specialization std::complex<double>
(1)
double imag()const;
(until C++11)
constexprdouble imag()const;
(since C++11)
(2)
void imag(double value );
(until C++20)
constexprvoid imag(double value );
(since C++20)
specialization std::complex<longdouble>
(1)
longdouble imag()const;
(until C++11)
constexprlongdouble imag()const;
(since C++11)
(2)
void imag(longdouble value );
(until C++20)
constexprvoid imag(longdouble value );
(since C++20)

Accesses the imaginary part of the complex number.

1) Returns the imaginary part.
2) Sets the imaginary part to value.

Contents

[edit]Parameters

value - the value to set the imaginary part to

[edit]Return value

1) The imaginary part of *this.
2) (none)

[edit]Notes

In C++11, overload (1) in std::complex specializations used to be specified without const qualifier. However, in C++11, a constexpr specifier used in a non-static member function implies const, and thus the behavior is as if const is specified.

[edit]Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 387C++98 the imaginary part could not be set directly can be set directly via a new imag overload

[edit]See also

returns the imaginary part
(function template)[edit]
accesses the real part of the complex number
(public member function)[edit]
close