gpt4 book ai didi

c++ - 在 C++ 中打开/关闭我自己的日志(cout)打印——怎么做?有什么特别的选择吗?

转载 作者:太空宇宙 更新时间:2023-11-04 15:42:09 25 4
gpt4 key购买 nike

我使用 cout 和 printf 进行调试。但是,当我想运行没有 cout 消息的“干净”代码时

我必须把每一个都注释掉。我怎样才能打开/关闭

例子:

for(int i = 0 ; i < 10 ; i++){

cout << "=======================" <<endl ;

for(int j = 0 ; j < 5 ; j++){
cout << j " " ;

int sum = i + j ; //actual work

}
}

我可以用一些选项以某种方式编译它吗?像这样:g++ main.cpp -no_log而且它不打印任何couts?开发人员如何使用 C++ 实现?

最佳答案

用调试宏保护它:

#ifdef DEBUG_MODE
cout << "whatever";
#endif

或者将其包装在一个类中,这样您就不必每次都编写宏:

class Log
{
public:
template<typename T>
Log& operator << (const T& x)
{
#ifdef DEBUG_MODE
std::cout << x;
#endif
return *this;
}
};

关于c++ - 在 C++ 中打开/关闭我自己的日志(cout)打印——怎么做?有什么特别的选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21416195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com