std::complex<T>::operator+=,-=,*=,/=
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Primary template  complex<T> | 
||
| (1) | ||
complex& operator+=( const T& other );  | 
(until C++20) | |
|   constexpr complex& operator+=( const T& other );  | 
(since C++20) | |
| (2) | ||
complex& operator-=( const T& other );  | 
(until C++20) | |
|   constexpr complex& operator-=( const T& other );  | 
(since C++20) | |
| (3) | ||
complex& operator*=( const T& other );  | 
(until C++20) | |
|   constexpr complex& operator*=( const T& other );  | 
(since C++20) | |
| (4) | ||
complex& operator/=( const T& other );  | 
(until C++20) | |
|   constexpr complex& operator/=( const T& other );  | 
(since C++20) | |
|   Specialization  complex<float> | 
||
| (1) | ||
complex& operator+=( float other );  | 
(until C++20) | |
|   constexpr complex& operator+=( float other );  | 
(since C++20) | |
| (2) | ||
complex& operator-=( float other );  | 
(until C++20) | |
|   constexpr complex& operator-=( float other );  | 
(since C++20) | |
| (3) | ||
complex& operator*=( float other );  | 
(until C++20) | |
|   constexpr complex& operator*=( float other );  | 
(since C++20) | |
| (4) | ||
complex& operator/=( float other );  | 
(until C++20) | |
|   constexpr complex& operator/=( float other );  | 
(since C++20) | |
|   Specialization  complex<double> | 
||
| (1) | ||
complex& operator+=( double other );  | 
(until C++20) | |
|   constexpr complex& operator+=( double other );  | 
(since C++20) | |
| (2) | ||
complex& operator-=( double other );  | 
(until C++20) | |
|   constexpr complex& operator-=( double other );  | 
(since C++20) | |
| (3) | ||
complex& operator*=( double other );  | 
(until C++20) | |
|   constexpr complex& operator*=( double other );  | 
(since C++20) | |
| (4) | ||
complex& operator/=( double other );  | 
(until C++20) | |
|   constexpr complex& operator/=( double other );  | 
(since C++20) | |
|   Specialization  complex<long double> | 
||
| (1) | ||
complex& operator+=( long double other );  | 
(until C++20) | |
|   constexpr complex& operator+=( long double other );  | 
(since C++20) | |
| (2) | ||
complex& operator-=( long double other );  | 
(until C++20) | |
|   constexpr complex& operator-=( long double other );  | 
(since C++20) | |
| (3) | ||
complex& operator*=( long double other );  | 
(until C++20) | |
|   constexpr complex& operator*=( long double other );  | 
(since C++20) | |
| (4) | ||
complex& operator/=( long double other );  | 
(until C++20) | |
|   constexpr complex& operator/=( long double other );  | 
(since C++20) | |
|   All specializations  | 
||
| (5) | ||
template<class X> complex& operator+=( const std::complex<X>& other );  | 
(until C++20) | |
|   template<class X> constexpr complex& operator+=( const std::complex<X>& other );  | 
(since C++20) | |
| (6) | ||
template<class X> complex& operator-=( const std::complex<X>& other );  | 
(until C++20) | |
|   template<class X> constexpr complex& operator-=( const std::complex<X>& other );  | 
(since C++20) | |
| (7) | ||
template<class X> complex& operator*=( const std::complex<X>& other );  | 
(until C++20) | |
|   template<class X> constexpr complex& operator*=( const std::complex<X>& other );  | 
(since C++20) | |
| (8) | ||
template<class X> complex& operator/=( const std::complex<X>& other );  | 
(until C++20) | |
|   template<class X> constexpr complex& operator/=( const std::complex<X>& other );  | 
(since C++20) | |
Implements the compound assignment operators for complex arithmetic and for mixed complex/scalar arithmetic. Scalar arguments are treated as complex numbers with the real part equal to the argument and the imaginary part set to zero.
1,5) Adds 
other to *this.2,6) Subtracts 
other from *this.3,7) Multiplies *this by 
other.4,8) Divides *this by 
other.Parameters
| other | - | a complex or scalar value of matching type (float, double, long double) | 
Return value
*this
See also
|   applies unary operators to complex numbers  (function template)  | |
|   performs complex number arithmetic on two complex values or a complex and a scalar  (function template)  |