在 C++ 中定义带条件的宏

Define macros with condition in C++

我在 SO 上找到了一些现有的答案,但实际上我不明白一切 there 是如何工作的。

基本上,我想在if/switch条件下定义一个宏

if (condition)
{
#define SOME_MACRO
}

所以,如果某些条件为真,就会定义一些新的宏。 但是,就目前而言,它只是定义了宏。我知道这不是真正应该如何完成的,但对此没有正常的解释。

您不能像这样混合使用宏和代码。宏都是在你的代码编译之前处理的,它只是一个方便的功能,可以节省输入(并使代码更易于阅读)。

例如条件有一个宏语法,你可以这样做:

#if Condition
#define X
#endif

有条件地定义宏。