<iosfwd> header provides forward declarations of the various
I/O-related classes and templates. The forward declarations are
incomplete type declarations. (Read about complete and incomplete types
in Chapter 6.) By using
<iosfwd> you can sometimes avoid
including the complete definitions of the I/O classes, and thereby save
some compilation time.
It is always safe to include
<iosfwd> and any of the other I/O
headers, even if they both declare the same type.
<iosfwd> does not
provide any complete type declarations, this section contains only Table 13-18, which lists each
type name with a reference to the header (if any) that is required for
the complete type.