output function begins execution by constructing an object of class
If that object returns
while converting to a value of type
the function endeavors
to generate the requested output.
If an exception is thrown during output, then
(exceptions() & badbit) != 0
then the exception is rethrown.
In any case, the unformatted output function ends by destroying the
object, then, if no exception was thrown, returning the value
specified for the unformatted output function.