std::complex<T>::operator+=,-=,*=,/=

From cppreference.com
< cpp‎ | numeric‎ | complex
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)