| I/O manipulators | ||||
| Print functions(C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++20) | ||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
| Synchronized Output | ||||
(C++20) | ||||
| Types | ||||
| Error category interface | ||||
(C++11) | ||||
(C++11) |
| Global objects | |||||||
| |||||||
| Member functions | |||||||
(C++11) | |||||||
| Formatted output | |||||||
| Unformatted output | |||||||
| Positioning | |||||||
| Miscellaneous | |||||||
(C++11) | |||||||
| Member classes | |||||||
| Non-member functions | |||||||
(C++23) | |||||||
(C++23) | |||||||
(C++23) | |||||||
Defined in header <iostream> | ||
externstd::ostream clog; | (1) | |
externstd::wostream wclog; | (2) | |
The global objectsstd::clog andstd::wclog control output to a stream buffer of implementation-defined type (derived fromstd::streambuf), associated with the standard C output streamstderr, but, unlikestd::cerr/std::wcerr, these streams are not automatically flushed and cout is not automatically tie()'d with these streams.
These objects are guaranteed to be initialized during or before the first time an object of typestd::ios_base::Init is constructed and are available for use in the constructors and destructors of static objects withordered initialization (as long as<iostream> is included before the object is defined).
Unlesssync_with_stdio(false) has been issued, it is safe to concurrently access these objects from multiple threads for both formatted and unformatted output.
The “c” in the name refers to “character” (stroustrup.com FAQ);clog means “character log” andwclog means “wide character log”.
#include <iostream> struct Foo{int n; Foo(){ std::clog<<"constructor\n";} ~Foo(){ std::clog<<"destructor\n";}}; Foo f;// static object int main(){ std::clog<<"main function\n";}
Output:
constructormain functiondestructor
| initializes standard stream objects (public member class of std::ios_base)[edit] | |
| writes to the standard C error streamstderr, unbuffered (global object)[edit] | |
| writes to the standard C output streamstdout (global object)[edit] | |
| expression of typeFILE* associated with the input stream expression of typeFILE* associated with the output stream expression of typeFILE* associated with the error output stream (macro constant)[edit] |