【发布时间】:2014-10-29 09:55:45
【问题描述】:
在我的 C++ 代码中,我必须在两种情况下执行某些代码:由于预处理器宏或布尔变量检查。例如:
bool done=false;
#ifdef _DEBUG
executeDebugCode();
done=true;
#endif
if (inputParam && !done)
executeDebugCode();
有没有办法把上面的代码写得更优雅,不用重复两次executeDebugCode()函数调用?
编辑:
executeDebugCode() 函数应该执行一次,如果满足两个条件之一。例如一个只能在 DEBUG 模式下执行的函数,可以通过预处理器宏或命令行参数设置。
【问题讨论】:
-
你的问题有点不清楚。如果满足 either 条件还是仅在满足 both 条件时调用该函数?如果两者都满足,应该调用一次还是两次?
-
@Angew 大概缩短的“更优雅”的方式应该与上面的代码具有相同的行为。
-
编辑得更清楚。抱歉,感谢答案和 cmets,通常会在稍后想到一些事情。