<iostream>
Declares objects that control reading from and writing to the standard streams. This is often the only header you need to include to perform input and output from a C++ program.
#include <iostream>
Remarks
The objects fall into two groups:
cin, cout, cerr, and clog are byte oriented, performing conventional byte-at-a-time transfers.
wcin, wcout, wcerr, and wclog are wide oriented, translating to and from the wide characters that the program manipulates internally.
Once you perform certain operations on a stream, such as the standard input, you cannot perform operations of a different orientation on the same stream. Therefore, a program cannot operate interchangeably on both cin and wcin, for example.
All the objects declared in this header share a peculiar property — you can assume they are constructed before any static objects you define, in a translation unit that includes <iostream>. Equally, you can assume that these objects are not destroyed before the destructors for any such static objects you define. (The output streams are, however, flushed during program termination.) Therefore, you can safely read from or write to the standard streams before program startup and after program termination.
This guarantee is not universal, however. A static constructor may call a function in another translation unit. The called function cannot assume that the objects declared in this header have been constructed, given the uncertain order in which translation units participate in static construction. To use these objects in such a context, you must first construct an object of class ios_base::Init.
Global Stream Objects
Specifies the cerr global stream. |
|
Specifies the cin global stream. |
|
Specifies the clog global stream. |
|
Specifies the cout global stream. |
|
Specifies the wcerr global stream. |
|
Specifies the wcin global stream. |
|
Specifies the wclog global stream. |
|
Specifies the wcout global stream. |
See Also
Reference
Thread Safety in the C++ Standard Library