文件的一个不利之处在于一个头文件可能会被多次包含,为了说
明这种错误,考虑下面的代码:
#include"x.h"
#include"x.h"
显然,这里文件x.h被包含了两次,没有人会故意编写这样的代码。但是
下面的代码:
#include"a.h"
#include"b.h"
看上去没什么问题。如果a.h和b.h都包含了一个头文件x.h。那么x.h
在此也同样被包含了两次,只不过它的形式不是那么明显而已。
多重包含在绝大多数情况下出现在大型程序中,它往往需要使用很多头文
件,因此要发现重复包含并不容易。要解决这个问题,我们可以使用条件编译。
如果所有的头文件都像下面这样编写:
#ifndef _HEADERNAME_H
#define _HEADERNAME_H
.//(头文件内容)
#endif
那么多重包含的危险就被消除了。当头文件第一次被包含时它被正常处
理符号_HEADERNAME_H被定义为1。如果头文件被再次包含通过条件编译
头文件被多次包含的解决办法
最新推荐文章于 2023-01-18 11:38:37 发布