我们有可以在silence modeand上运行的守护进程print mode(打印到 std::cout)。如何在silence没有开销和 io 调用的情况下实现它。建议更多更好的方法来做到这一点!或者写什么方法比较好!(优点/缺点)
例如:
1方式:
代码中的简单位置std::cout << "blah-blah-blah: " << var << std::endl;
何时需要静音close(STDOUT_FILENO)或将 cout 重写为dev/null(如何?)
2种方法
global bool FLAG_SILENCE在每次 cout 调用之前使用并检查它:if (!FLAG_SILENCE) std::cout << "blah-blah-blah: " << var << std::endl;
3 路
预定义宏#define SILENTCOUT std::cout,当需要保持沉默时#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" )——危险,非常丑陋