Table of Contents
Using complex<>
becomes even more comple- er, sorry,
complicated, with the not-quite-gratuitously-incompatible
addition of complex types to the C language. David Tribble has
compiled a list of C++98 and C99 conflict points; his description of
C's new type versus those of C++ and how to get them playing together
nicely is
here.
complex<>
is intended to be instantiated with a
floating-point type. As long as you meet that and some other basic
requirements, then the resulting instantiation has all of the usual
math operators defined, as well as definitions of op<<
and op>>
that work with iostreams: op<<
prints (u,v)
and op>>
can read u
,
(u)
, and (u,v)
.
As an extension to C++11 and for increased compatibility with C,
<complex.h>
includes both <complex>
and the C99 <complex.h>
(if the C library provides
it).