永发信息网

C++ 如何定义头文件?为何要用到ifndef和#define,#endif?有何用

答案:3  悬赏:60  手机版
解决时间 2021-01-25 23:46
C++ 如何定义头文件?为何要用到ifndef和#define,#endif?有何用
最佳答案
//b.h文件
#include "a.h"

//c.h文件
#include "a.h"
#include "b.h"

在c.h文件中,a.h文件被包含了两次.而C++规定在同一文件中只能将同一个头文件包含一次.#ifndef,#define,#endif可以避免多次包含同一头文件.

//新的c.h文件
#ifndef C_H_H
#define C_H_H
#include "a.h"
#include "b.h"
...
#endif

编译器连接c.h文件时,第一次遇到a.h文件,名称C_H_H还没有被定义,编译器将查看#ifndef和#endif之间的内容.如果在同一文件中遇到其他包含a.h的代码,编译器将知道C_H_H名称已经被定义了,从而忽略其中的内容.
全部回答
假如头文件文件名为head.h,则在头文件开头一般会定义:
#ifndef HEAD_H
#define HEAD_H
文件末尾添加
#endif
头文件可以通过#include"head.h"来包含,编译器预处理时,将该文件在此处展开。如果没有使用#ifndef、#define、#endif,程序有可能出现重复包含的可能。通过简单的预处理命令,可以有效的接触重复包含的问题,同时降低了编译器的负担,提高了编译效率。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
CHANEL(久光百货店)地址在什么地方,想过去办
什么是老火汤、炖汤、滚汤?它们有什么区别?
swaddleme和halo哪个好
怎样用以动写静的手法写校园早晨的景色
我要买洛克王国小桃的衣服,有人告诉我用代码
渴望爱情的英文
读世界部分地区环境问题分布图,回答问题。【
IPSA(久光店)怎么去啊,我要去那办事
弟弟的朋友供手机,不还款,我是答应了我弟弟
普通增值税发票税点开错,已入账无法要回,怎
怎样把下载速度加快
湖南省怀化市仙人湾仙人湾邮编523000
什么忽视四字词语
英国国王詹姆士一世明确提出“君权神授”的主
男朋友说不要挑战他的底线,还说什么说分手我
推荐资讯
我能和我继父带过来女儿结婚吗?这样的话将来
月亮城歌厅KTV地址在什么地方,想过去办事
百度精准吗
现有30多平方的一个二手冷库需要出售该怎么去
下列哪一观点不符合文艺复兴时期的核心思想CA
尤溪县新阳派出所地址有知道的么?有点事想过
回答问题抢红包应用
曲江区韶关百合婚纱摄影地址在哪里啊
什么是公司β系数?公司β系数与市场风险系数
红包1.99元的寓意?
为什么三相平黄衡负载的用电设备的中性线电流
81摔了 漆掉了一块 请问能补吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?