如果预处理器指令嵌套在C ++中,

我有一个关于在C ++预处理器指令的问题:

例如:

#ifndef QUESTION //some code here #ifndef QUESTION //some code here #endif #endif 

我们可以这样使用它,并且C ++编译器能否以正确的方式匹配ifndefendif

我们可以。 #endif语句与之前没有对应的#endif #if #ifdef#ifndef等匹配。

例如

 #if ----------| #if -----| | #endif ---| | #endif --------| 

是的,你可以嵌套#if / #endif块。 一些C编码风格会告诉你写

 #ifdef CONDITION1 # ifdef CONDITION2 # endif #endif 

使用空格来表示嵌套的级别。

在你的代码中,#ifndef QUESTION部分将被丢弃,除非你是#undef QUESTION。

祝你好运!