Namespaces
Variants

std::complex<T>:: operator=

From cppreference.net
Все специализации
(1)
complex & operator = ( const complex & cx ) ;
(до C++20)
constexpr complex & operator = ( const complex & cx ) ;
(начиная с C++20)
(2)
template < class X >
complex & operator = ( const std:: complex < X > & cx ) ;
(до C++20)
template < class X >
constexpr complex & operator = ( const std:: complex < X > & cx ) ;
(начиная с C++20)
Основной шаблон complex<T>
(3)
complex & operator = ( const T & x ) ;
(до C++20)
constexpr complex & operator = ( const T & x ) ;
(начиная с C++20)
Специализации для стандартных типов с плавающей точкой complex<F> (до C++23)
(3)
complex & operator = ( F x ) ;
(до C++20)
constexpr complex & operator = ( F x ) ;
(начиная с C++20)
(до C++23)

Присваивает новые значения содержимому.

1,2) Присваивает cx.real() и cx.imag() действительную и мнимую части комплексного числа соответственно. Оператор копирующего присваивания (1) является тривиальным когда T является типом с плавающей точкой. (начиная с C++23)
3) Присваивает x действительную часть комплексного числа. Мнимая часть устанавливается в ноль.

Содержание

Параметры

x - значение для присваивания
cx - комплексное значение для присваивания

Возвращаемое значение

* this

Примечания

Оператор копирующего присваивания должен быть тривиальным начиная с C++23, но реализации обычно делают его тривиальным во всех режимах.

Отчёты о дефектах

Следующие отчеты об изменениях в поведении, содержащие описания дефектов, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Applied to Behavior as published Correct behavior
LWG 3935 C++98 the description of overload (2) was missing added

Смотрите также

создает комплексное число
(public member function)
литерал std::complex представляющий чисто мнимое число
(function)