std::complex<T>::operator=
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Numerics library
Interpolations
Generic numeric operations
C-style checked integer arithmetic
Mathematical special functions (C++17)
Mathematical constants (C++20)
Basic linear algebra algorithms (C++26)
Data-parallel types (SIMD) (C++26)
Floating-point environment (C++11)
Bit manipulation (C++20)
Saturation arithmetic (C++26)
(C++17)
(C++17)
(C++20)
(C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++26)
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)
complex& operator=( const std::complex <X>& cx );
template< class X >
constexpr complex& operator=( const std::complex <X>& cx );
(since C++20)
constexpr complex& operator=( const std::complex <X>& cx );
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.
[edit] Parameters
x
-
value to assign
cx
-
complex value to assign
[edit] Return value
*this
[edit] Notes
The copy assignment operator is required to be trivial since C++23, but implementations generally make it trivial in all modes.
[edit] 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 |