Namespaces
Variants

std:: clog, std:: wclog

From 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 * 型の式
(マクロ定数)