На этом шаге мы приведем общие сведения о комплексных числах.
В стандартную библиотеку C++ входит шаблонный класс complex<>, предназначенный для работы с комплексными числами. На всякий случай стоит напомнить, что комплексные числа состоят из двух частей: вещественной и мнимой. Особое свойство мнимой части заключается в том, что ее квадрат является отрицательным числом. Иначе говоря, мнимая часть представляет собой произведение числа и квадратного корня из -1, обозначаемого символом i.
Класс complex объявляется в заголовочном файле <complex>:
#include <complex>
Определение класса complex в файле <complex> выглядит так:
namespace std { template <class T> class complex; }
Параметр шаблона Т задает скалярный тип как вещественной, так и мнимой части комплексного числа.
В стандартную библиотеку C++ включены также три специализированные версии класса complex для типов float, double и long double:
namespace std { tempiate<> class complex<float>; tempiate<> class complex<double>; tempiate<> class complex<long double>; }
Определения этих типов позволяют выполнять некоторые виды оптимизации и безопасное преобразование от одного комплексного типа к другому.
На следующем шаге мы рассмотрим пример использования этого класса.