The template class complex contains Cartesian components real and imag for a complex number.
The effect of instantiating the template complex for any type other than float, double or long double is unspecified. If the result of a function is not mathematically defined or not in the range of representable values for its type, the behavior is undefined.
The complex class consists of: