std:: clog, std:: wclog
|
Definiert im Header
<iostream>
|
||
|
extern
std::
ostream
clog
;
|
(1) | |
|
extern
std::
wostream
wclog
;
|
(2) | |
Die globalen Objekte
std::clog
und
std::wclog
steuern die Ausgabe an einen Streampuffer eines implementierungsdefinierten Typs (abgeleitet von
std::streambuf
), der mit dem standardmäßigen C-Ausgabestream
stderr
assoziiert ist. Im Gegensatz zu
std::cerr
/
std::wcerr
werden diese Streams jedoch nicht automatisch geleert und cout ist nicht automatisch mit diesen Streams über tie() verbunden.
Diese Objekte sind garantiert während oder vor dem ersten Mal initialisiert, wenn ein Objekt vom Typ std::ios_base::Init konstruiert wird, und sind in den Konstruktoren und Destruktoren von statischen Objekten mit geordneter Initialisierung verfügbar (sofern <iostream> vor der Definition des Objekts eingebunden wird).
Sofern nicht sync_with_stdio ( false ) aufgerufen wurde, ist es sicher, diese Objekte gleichzeitig von mehreren Threads aus für formatierte und unformatierte Ausgabe zuzugreifen.
Hinweise
Das „c“ im Namen steht für „character“ (
stroustrup.com FAQ
);
clog
bedeutet „character log“ und
wclog
bedeutet „wide character log“.
Beispiel
#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"; }
Ausgabe:
constructor main function destructor
Siehe auch
|
initialisiert Standard-Stream-Objekte
(öffentliche Mitgliedsklasse von
std::ios_base
)
|
|
|
schreibt in den standard C-Fehlerstrom
stderr
, ungepuffert
(globales Objekt) |
|
|
schreibt in den standard C-Ausgabestrom
stdout
(globales Objekt) |
|
|
Ausdruck vom Typ
FILE
*
assoziiert mit dem Eingabestrom
Ausdruck vom Typ FILE * assoziiert mit dem Ausgabestrom Ausdruck vom Typ FILE * assoziiert mit dem Fehlerausgabestrom (Makrokonstante) |