可能重复:
#include任何地方
对于相应的语言,以下是有效的(可接受的编程实践):
#include "SomeHeader.h"
#include "HeaderDefs.h" //Includes #defines (like CONST_VAR)
void Function1(){;}
void Function2(){;} //etc
//Additionally:
void Function3(){while(1){
#include "Files.h"
;
}} //Result?
#include "HeaderUndefs.h" //Includes #undef (like undef CONST_VAR)
Run Code Online (Sandbox Code Playgroud)
从以下扩展评论:
我扩大了.请记住它是'有效性'而不是'它会编译'.我相信它可以编译,但Stack Overflow提供了深入探索的见解(如Daniel Wagner).我可以有一个#includes的while循环吗?(或者这会破坏惯例...... #includes任何地方 - 它们也有效吗?).
是的,#include指令可以随处可见.甚至内部函数,或循环,或任何东西.填充内容的预处理器对C(或C++)语言一无所知,它完全是愚蠢的.