头文件#ifndef的用法

#ifndef起到的效果是防止一个源文件两次包含同一个头文件

一般格式是这样的:

#ifndef <标识>
#define <标识>
......
......
#endif

<标识>在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,如:stdio.h
#ifndef _STDIO_H_
#define _STDIO_H_
......
#endif
 


#ifndef的用法举例

xxx.h:
#ifndef XXX_H /*如果没有定义XXX_H*/
#define XXX_H /*定义XXX_H为空字符串*/
class Xxx{
//... ...
};
#endif /*结束判断*/

如果这样的e79fa5e98193e4b893e5b19e31333332623239话,多次引入xxx.h会像下面这样:

#include "xxx.h" /*1次引入*/
#include "xxx.h" /*2次引入*/
#include "xxx.h" /*3次引入*/

展开为:

#ifndef XXX_H /* 没有定义XXX_H,条件成立 */
#define XXX_H /*定义XXX_H为空字符串*/
class Xxx{ /*引入class Xxx*/
//... ...
};
#endif /*结束判断*/
#ifndef XXX_H /* 已经定义XXX_H,条件不成立 */
#define XXX_H /*跳过*/
class Xxx{
//... ...
};
#endif
#ifndef XXX_H /* 已经定义XXX_H,条件不成立 */

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值