std::complex<T>::operator=

From cppreference.com
< cpp‎ | numeric‎ | complex
 
 
 
 
All specializations
(1)
complex& operator=( const complex& cx );
(until C++20)
constexpr complex& operator=( const complex& cx );
(since C++20)
(2)
template< class X >
complex& operator=( const std::complex<X>& cx );
(until C++20)
template< class X >
constexpr complex& operator=( const std::complex<X>& cx );
(since C++20)
Primary template complex<T>
(3)
complex& operator=( const T& x );
(until C++20)
constexpr complex& operator=( const T& x );
(since C++20)
Specializations for standard floating-point types complex<F> (until C++23)
(3)
complex& operator=( F x );
(until C++20)
constexpr complex& operator=( F x );
(since C++20)
(until C++23)

Assigns new values to the contents.

1,2) Assigns cx.real() and cx.imag() to the real and the imaginary parts of the complex number respectively. The copy assignment operator (1) is trivial when T is a floating-point type.(since C++23)
3) Assigns x to the real part of the complex number. Imaginary part is set to zero.

Parameters

x - value to assign
cx - complex value to assign

Return value

*this

Notes

The copy assignment operator is required to be trivial since C++23, but implementations generally make it trivial in all modes.

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 3935 C++98 the description of overload (2) was missing added

See also

constructs a complex number
(public member function)
a std::complex literal representing purely imaginary number
(function)