何时真正需要ifdef进行日志记录

时间:2018-08-03 09:59:59

标签: c++

我目前正在使用相当老的C ++代码。在这段代码中,我可以找到:

#ifdef LOG
LOG_DEBUG(bla bla bla);
#endif

并在调试头文件中:

#ifdef LOG
LOG_DEBUG(X) ....code....
#else
LOG_DEBUG(X) (void) 0
#endif

现在我的问题是:在代码的每个语句中都重复ifdef的原因是什么?我猜想这种策略仅在一种情况下真的很有价值,即当我需要执行一些艰苦的初步工作来记录某些内容时。

#ifdef LOG
int a = mySuperComplicatedFunction();
....other worth code here with "a"...
LOG_DEBUG(the result here);
#endif

我想念什么吗?

1 个答案:

答案 0 :(得分:5)

  

现在我的问题是:在代码的每个语句中都重复ifdef的原因是什么?

不,在这些情况下,这完全是多余的,您不会丢失任何内容。特别是,您正确地确定了实际需要的一种情况。