std::clog, std::wclog
來自 cppreference.com
定義於標頭檔案 <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
表示“字元日誌”,wclog
表示“寬字元日誌”。
[編輯] 示例
執行此程式碼
#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* 型別的表示式 (宏常量) |