std::clog, std::wclog
Определено в заголовке <iostream> | ||
|---|---|---|
extern std::ostream clog; | (1) | |
extern std::wostream wclog; | (2) |
Глобальные объекты std::clog и std::wclog управляют выводом в буфер потока определенного реализацией типа (производный от std::streambuf), связанного со стандартным потоком вывода C stderr, но, в отличие от std::cerr/std::wcerr, эти потоки не сбрасываются автоматически, и cout не привязан к этим потокам автоматически.
Гарантируется, что эти объекты будут инициализированы во время или до первого создания объекта типа std::ios_base::Init и доступны для использования в конструкторах и деструкторах статических объектов с упорядоченной инициализацией (при условии, что <iostream> включен до определения объекта).
Если std::ios_base::sync_with_stdio(false) не был выдан, безопасно одновременное обращение к этим объектам из нескольких потоков для форматированного и неформатированного вывода.
Примечания
Буква 'c' в имени относится к "символу" (stroustrup.com FAQ); clog означает "символьный журнал", а wclog означает "журнал широких символов".
Пример
#include <iostream>
struct Foo
{
int n;
Foo()
{
std::clog << "static constructor\n";
}
~Foo()
{
std::clog << "static destructor\n";
}
};
Foo f; // static object
int main()
{
std::clog << "main function\n";
}Вывод:
static constructor main function static destructor
См. также
| инициализирует стандартные объекты потоков (публичный член класса std::ios_base) |
|
записывает в стандартный поток ошибок C stderr, не буферизованный(глобальный объект) |
|
записывает в стандартный поток вывода C stdout(глобальный объект) |
|
выражение типа FILE*, связанное с входным потокомвыражение типа FILE*, связанное с выходным потокомвыражение типа FILE*, связанное с потоком ошибок(макроконстанта) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/clog