在A.h使用 class B声明代替 #include "B.h"
在A.c中使用 #include "B.h"
在B.h使用 class A代替 #include "A.h"
在闭或B.c中使用 #include "A.h"
以后头文件和源文件都按这个原则写蚂返。除非是继承,闷态饥否则不在头文件中#include。
这样整个世界就清净了。
有些头文件重复包含只是增加了编译工作的工作量,不会引起太大的问题,仅仅是编译效率低一些有些头文件重复包含,会引起错误,比如在头文件中定义了全局变量(虽然这种方式不被推荐,但薯并确实是C规范允许的)
如果头文件被循环包含的话,那就看你的编译器了
有的会智能处理,和只include一次一样
有的会报错
有的干脆死锁,导致编译弊隐程序崩溃(这个 只有很低级的编译器才会出 现在几乎看不到租手厅了)
不管怎样,用ifnde xxx #define xxx或者其他方式避免头文件重复包含,只有好处 没有坏处
是一个很好的习惯
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)