std::complex<T>::real
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   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)  |