临时禁用调试代码

Liv*_*viu 1 c++ readability compiler-warnings visual-c++

我习惯使用这样的代码来调试那些不是很容易编写的块:

if(0) 
{ 
    // debugging code 
}
Run Code Online (Sandbox Code Playgroud)

问题是"warning C4127: conditional expression is constant".

我正在保留对旧代码的评论,这些代码可以在将来的任何时候删除(但应保留一段时间,以便有可能遵循原作者的意图).我可以使用"#if 0",但我没有看到可读性有任何改善,相反(但这可能是一个品味问题).

哪个更友好,更具可读性,无警告解决方案?

(因为这更像是关于样式的问题,也许有更好的StackExchange位置)

编辑调试代码不等于调试配置(_DEBUG):通常在_DEBUG内,但我不想污染它所以我必须用它来禁用它if (0)

Jar*_*d42 5

使用预处理器:

#if 0 
    // Deactivated code.
#endif
Run Code Online (Sandbox Code Playgroud)

您也可以定义一个宏DEBUG(或您选择的名称),然后执行类似的操作

#ifdef DEBUG 
    // Debug code.
#endif
Run Code Online (Sandbox Code Playgroud)

注意:我建议使用您自己的宏而不是现有的宏(如_DEBUG或NDEBUG参见_DEBUG vs NDEBUG).