有没有办法在程序内部使用 std::cout 定义/取消定义调试消息?
我知道有诸如#define、#ifndef 之类的东西,但我在想有没有更简洁的方法来让变量说:
# debug ON
打印我所有的调试数据(使用 std::cout)。因此,我们将有这样的代码进行调试:
#ifndef DEBUG
// do something useful
#endif
当您编写 100 段调试代码时,我发现上面的代码很麻烦。
谢谢!
卡洛
最佳答案
#ifdef DEBUG
#define DEBUG_MSG(str) do { std::cout << str << std::endl; } while( false )
#else
#define DEBUG_MSG(str) do { } while ( false )
#endif
int main()
{
DEBUG_MSG("Hello" << ' ' << "World!" << 1 );
return 0;
}
关于C++ 即时启用/禁用 std::couts 的调试消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3371540/