silence modeand 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" )-- 危険、非常に醜い