我对c ++中的预处理器指令有疑问:
例如:
#ifndef QUESTION
//some code here
#ifndef QUESTION
//some code here
#endif
#endif
我们可以这样使用它吗?C ++编译器能否以正确的方式匹配ifndef
和endif
?
答案 0 :(得分:98)
是的,我们可以。 #endif
语句与之前没有相应#if
的{{1}} #ifdef
或#ifndef
等匹配。
e.g。
#endif
答案 1 :(得分:41)
是的,您可以嵌套#if
/ #endif
块。一些C编码样式会告诉你写
#ifdef CONDITION1
# ifdef CONDITION2
# endif
#endif
使用空格来表示嵌套级别。
答案 2 :(得分:0)
在您的代码中,除非您#undef QUESTION,否则将丢弃#ifndef QUESTION部分。
祝你好运!