Namespaces
Variants

std:: clog, std:: wclog

From ru.cppreference.net
< cpp ‎ | io
Определено в заголовочном файле <iostream>
extern std:: ostream clog ;
(1)
extern std:: wostream wclog ;
(2)

Глобальные объекты std::clog и std::wclog управляют выводом в буфер потока реализационно-определенного типа (производного от std::streambuf ), ассоциированный со стандартным C потоком вывода stderr , но, в отличие от std::cerr / std::wcerr , эти потоки не сбрасываются автоматически и cout не автоматически связывается (tie()) с этими потоками.

Эти объекты гарантированно инициализируются во время или до первого создания объекта типа std::ios_base::Init и доступны для использования в конструкторах и деструкторах статических объектов с упорядоченной инициализацией (при условии, что <iostream> включен до определения объекта).

Если не была выполнена команда sync_with_stdio ( false ) , безопасно одновременно обращаться к этим объектам из нескольких потоков как для форматированного, так и для неформатированного вывода.

Примечания

Буква «c» в названии означает «character» ( stroustrup.com FAQ ); clog означает «character log», а wclog означает «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";
}

Вывод:

constructor
main function
destructor

Смотрите также

инициализирует объекты стандартных потоков
(публичный класс-член std::ios_base )
записывает в стандартный поток ошибок C stderr , небуферизованный
(глобальный объект)
записывает в стандартный поток вывода C stdout
(глобальный объект)
выражение типа FILE * связанное с входным потоком
выражение типа FILE * связанное с выходным потоком
выражение типа FILE * связанное с потоком вывода ошибок
(макроконстанта)