# 26 Numerics library [numerics]

## 26.4 Complex numbers [complex.numbers]

### 26.4.5complex member operators [complex.member.ops]

``` complex<T>& operator+=(const T& rhs); ```

Effects: Adds the scalar value rhs to the real part of the complex value *this and stores the result in the real part of *this, leaving the imaginary part unchanged.

Returns: *this.

``` complex<T>& operator-=(const T& rhs); ```

Effects: Subtracts the scalar value rhs from the real part of the complex value *this and stores the result in the real part of *this, leaving the imaginary part unchanged.

Returns: *this.

``` complex<T>& operator*=(const T& rhs); ```

Effects: Multiplies the scalar value rhs by the complex value *this and stores the result in *this.

Returns: *this.

``` complex<T>& operator/=(const T& rhs); ```

Effects: Divides the scalar value rhs into the complex value *this and stores the result in *this.

Returns: *this.

``` template<class X> complex<T>& operator+=(const complex<X>& rhs); ```

Effects: Adds the complex value rhs to the complex value *this and stores the sum in *this.

Returns: *this.

``` template<class X> complex<T>& operator-=(const complex<X>& rhs); ```

Effects: Subtracts the complex value rhs from the complex value *this and stores the difference in *this.

Returns: *this.

``` template<class X> complex<T>& operator*=(const complex<X>& rhs); ```

Effects: Multiplies the complex value rhs by the complex value *this and stores the product in *this.

Returns: *this.

``` template<class X> complex<T>& operator/=(const complex<X>& rhs); ```

Effects: Divides the complex value rhs into the complex value *this and stores the quotient in *this.

Returns: *this.