在C ++中使用条件定义宏

时间:2019-04-19 19:02:15

标签: c++ c macros conditional

我找到了一些关于SO的现有答案,但实际上我不明白there的所有工作原理。

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

if (condition)
{
#define SOME_MACRO
}

因此,如果满足某些条件,则将定义一些新的宏。 但是,到目前为止,它仍然只定义了宏。我知道这不是应该怎么做,但是对此没有一般的解释。

1 个答案:

答案 0 :(得分:1)

您不能像这样混合使用宏和代码。宏是在编译代码之前全部处理的,它只是保存键入(使代码更易于阅读)的便利功能。

例如,有一个用于条件的宏语法,您可以这样做:

#if Condition
#define X
#endif

有条件地定义宏。