如果预处理器指令嵌套在C ++中,
我有一个关于在C ++预处理器指令的问题:
例如:
#ifndef QUESTION //some code here #ifndef QUESTION //some code here #endif #endif
我们可以这样使用它,并且C ++编译器能否以正确的方式匹配ifndef
和endif
?
我们可以。 #endif
语句与之前没有对应的#endif
#if
#ifdef
或#ifndef
等匹配。
例如
#if ----------| #if -----| | #endif ---| | #endif --------|
是的,你可以嵌套#if
/ #endif
块。 一些C编码风格会告诉你写
#ifdef CONDITION1 # ifdef CONDITION2 # endif #endif
使用空格来表示嵌套的级别。
在你的代码中,#ifndef QUESTION部分将被丢弃,除非你是#undef QUESTION。
祝你好运!