我习惯使用这样的代码来调试编写起来不是很简单的 block :
if(0)
{
// debugging code
}
问题是“warning C4127: conditional expression is constant”
。
我正在保留对旧代码的注释,将来可以随时删除(但应该保留一段时间,以便有可能遵循原作者的意图)。我可以使用“#if 0”,但相反,我看不到可读性有任何改进(但这可能是个人喜好问题)。
哪个是更友好、更易读、无警告的解决方案?
(因为这更多是关于样式的问题,也许有更好的 StackExchange 地方)
EDIT 调试代码不等同于调试配置(_DEBUG):一般在_DEBUG内,但我不想污染它所以我必须用if禁用它(0)
最佳答案
使用预处理器:
#if 0
// Deactivated code.
#endif
您还可以定义一个宏 DEBUG
(或您选择的名称),然后执行类似的操作
#ifdef DEBUG
// Debug code.
#endif
注意:我建议使用您自己的宏而不是现有的宏(如 _DEBUG 或 NDEBUG 参见 _DEBUG vs NDEBUG )。
关于c++ - 临时禁用调试代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27318723/