std::complex<T>::real

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

Accesses the real part of the complex number.

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

Parameters

value - the value to set the real part to

Return value

1) The real 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 real part could not be set directly can be set directly via a new real overload

See also

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