silence mode
and print mode
(std::cout に出力)で実行できるデーモンがあります。silence
オーバーヘッドと io 呼び出しなしで作成する方法。そうするためのより良い方法を提案してください!または、どのような方法が良いかを書いてください!(メリット・デメリット)
例えば:
1 つの方法:
コードの簡単な場所std::cout << "blah-blah-blah: " << var << std::endl;
沈黙する必要があるとき、close(STDOUT_FILENO)
またはcを書き換える必要があるときdev/null
(どのように?)
2ウェイ
すべての cout 呼び出しの前に使用global bool FLAG_SILENCE
して確認します。if (!FLAG_SILENCE) std::cout << "blah-blah-blah: " << var << std::endl;
#define SILENTCOUT std::cout
沈黙が必要な場合の3 通りの
定義済みマクロ#define SILENTCOUT SOMETHING
(何か = 演算子<<
を持ち、オーバーハードな <<` なし(does not know how to realise, seems need to define our own function with defined
で何もしない関数)
4 通りの
定義済みマクロ#define SILENTCOUT(x) std::cout << x << std::endl
を使用SILENTCOUT( "mess" )
-- 危険、非常に醜い