为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在C ++头文件中使用#ifndef和#define?

为什么在C ++头文件中使用#ifndef和#define?

C++ C
慕妹3146593 2019-07-31 14:10:33
为什么在C ++头文件中使用#ifndef和#define?我一直在头文件的开头看到这样的代码:#ifndef HEADERFILE_H#define HEADERFILE_H并在文件的最后是#endif这样做的目的是什么?
查看完整描述

3 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

#ifndef <token>

/* code */

#else

/* code to include if the token is defined */

#endif

#ifndef检查给定标记是#defined在文件中还是在包含文件中更早; 如果没有,它包括它和关闭之间的代码#else,或者如果没有#else存在,#endif语句。#ifndef通常用于通过在包含文件后定义令牌并检查令牌未设置在该文件的顶部来使头文件具有幂等性。


#ifndef _INCL_GUARD

#define _INCL_GUARD

#endif


查看完整回答
反对 回复 2019-07-31
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

这可以防止多次包含相同的头文件。


#ifndef __COMMON_H__

#define __COMMON_H__

//header file content

#endif

假设您已将此头文件包含在多个文件中。因此,第一次没有定义__COMMON_H__时,它将被定义并包含头文件。


下次定义__COMMON_H__时,它将不再包含。



查看完整回答
反对 回复 2019-07-31
  • 3 回答
  • 0 关注
  • 1460 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信