我想知道是否可以使用预处理器OR或AND语句?我有此代码要在_DEBUG
或_UNIT_TEST
标签(?)下运行。
我想要的是以下内容:
#if _DEBUG || _UNIT_TEST
//Code here
#endif
如果这不可能,是否有一种解决方法来实现相同的目的而不必使用#elseif
?复制代码?
Answers:
#if
接受编译器设法在编译时求值的整数type(1)的任何C ++表达式。所以是的,只要您用于测试定义性,就可以使用||
和。&&
defined(SOMETHING)
(1):嗯,比这更受限制;有关细节的更多信息,请参见此处的限制(在“具有这些附加限制”中)。