头文件循环引用问题

头文件循环引用问题,第1张

举例说明:A.h A.c B.h B.c

在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或者其他方式避免头文件重复包含,只有好处 没有坏处

是一个很好的习惯


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12282638.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存