◐ Shell
clean mode source ↗

std::clog, std::wclog - cppreference.com

De cppreference.com

Definido en el archivo de encabezado <iostream>

extern std::ostream clog;

(1)

extern std::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.

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)").

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

Ver también

Inicializa los objetos flujo estándar.
(clase miembro pública de std::ios_base) [editar]
Escribe al flujo de error estándar de C stderr, sin búfer.
(objeto global) [editar]
Escribe al flujo de salida estándar de C stdout.
(objeto global) [editar]