std::clog, std::wclog
Definido en el archivo de encabezado <iostream> | ||
externstd::ostream clog; | (1) | |
externstd::wostream wclog; | (2) | |
Los objetos globales std::clog y std::wclog controlan la salida a un búfer de flujo de datos de tipo definido por la implementación (derivados de std::streambuf y std::wstreambuf, respectivamente), asociado con el flujo de salida de error estándar de C: stderr, pero a diferencia de std::cerr/std::wcerr estos flujos no se descargan ni son atados (tie()) a std::cout automáticamente.
Está garantizado que la construcción de estos objetos ocurra antes o durante el llamado al primer constructor de un objeto tipo std::ios_base::Init, y que esté disponible para su uso en los constructores y destructores de objetos estáticos con inicialización ordenada (siempre y cuando <iostream>
sea incluido antes de que el objeto sea definido).
Es seguro acceder a estos objetos simultáneamente desde varios hilos, tanto para la salida con formato como para la salida sin formato, a menos que sync_with_stdio(false) haya sido emitido.
[editar]Notas
La 'c' en el nombre de los objetos se refiere a caracter ("character") (stroustrup.com FAQ); clog
significa flujo de log de caracter ("character log (stream)") y wclog
significa flujo de log de caracter amplio ("wide character log (stream)").
[editar]Ejemplo
#include <iostream> struct Foo {int n; Foo(){ std::clog<<"constructor estático\n";} ~Foo(){ std::clog<<"destructor estático\n";}}; Foo f;// objecto estático int main(){ std::clog<<"main\n";}
Salida:
constructor estático main destructor estático
[editar]Ver también
Inicializa los objetos flujo estándar. (clase miembro pública de std::ios_base ) | |
Escribe al flujo de error estándar de C stderr, sin búfer. (objeto global) | |
Escribe al flujo de salida estándar de C stdout. (objeto global) |