# 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)
constexpr void imag( T value ); |  | (since C++20)
specialization std::complex <float> |  |
| (1) |
float imag() const; |  | (until C++11)
constexpr float imag() const; |  | (since C++11)
| (2) |
void imag( float value ); |  | (until C++20)
constexpr void imag( float value ); |  | (since C++20)
specialization std::complex <double> |  |
| (1) |
double imag() const; |  | (until C++11)
constexpr double imag() const; |  | (since C++11)
| (2) |
void imag( double value ); |  | (until C++20)
constexpr void imag( double value ); |  | (since C++20)
specialization std::complex <long double> |  |
| (1) |
long double imag() const; |  | (until C++11)
constexpr long double imag() const; |  | (since C++11)
| (2) |
void imag( long double value ); |  | (until C++20)
constexpr void imag( long double value ); |  | (since C++20)

Accesses the imaginary part of the complex number.

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

### Parameters

value | - | the value to set the imaginary part to

### Return value

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

### 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.

### 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 387 | C++98 | the imaginary part could not be set directly | can be set directly via a new `imag` overload

### See also

imag | returns the imaginary part (function template)
real | accesses the real part of the complex number (public member function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/complex/imag&oldid=147509"