std::real(std::complex)
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <complex>
  | 
||
| (1) | ||
|   template< class T >  T real( const std::complex<T>& z );  | 
(until C++14) | |
|   template< class T >  constexpr T real( const std::complex<T>& z );  | 
(since C++14) | |
| (2) | ||
|   float real( float z ); template< class DoubleOrInteger >  | 
 (since C++11)  (until C++14)  | 
|
|   constexpr float real( float z ); template< class DoubleOrInteger >  | 
(since C++14) | |
1) Returns the real component of the complex number 
 z, i.e. z.real().| 
 2) Additional overloads are provided for float, double, long double, and all integer types, which are treated as complex numbers with zero imaginary component. 
 | 
(since C++11) | 
Parameters
| z | - | complex value | 
Return value
the real component of z
See also
|    accesses the real part of the complex number  (public member function)  | |
|    returns the imaginary component   (function template)  |