#ifndef、#define、#endif三个语句联合使用 是干嘛用的

#ifndef、#define、#endif三个语句联合使用 是干嘛用的


想必很多人都看过“头文件中的 #ifndef、#define、#endif ”这三句联合使用了吧?其实这段代码是C/C++中的条件编译指令,用于防止头文件的重复包含。

优化后的代码:

#ifndef HEADER_H
#define HEADER_H

// 在这里添加头文件的内容

#endif // HEADER_H

当头文件被多次包含时,#ifndef和#define指令会检查是否已经定义了HEADER_H宏,如果没有定义,则执行#define指令定义宏,并包含头文件的内容。如果已经定义了HEADER_H宏,则跳过头文件的内容,避免了重复包含的问题。这样可以提高代码的执行性能,同时保持代码的简洁性。

这段代码是一个C/C++头文件的常见模板。它的含义如下:

#ifndef HEADER_H
    // 这里头文件内容
#define  HEADER_H
#endif

#ifndef 和 #endif 是条件编译指令,用于避免头文件的重复包含。当编译器第一次遇到这个头文件时,它会检查是否已经定义了宏 HEADER_H。如果没有定义,则执行 #ifndef 和 #endif 之间的代码;如果已经定义了,则跳过这部分代码,避免重复包含。
#define HEADER_H 是一个宏定义,用于标识该头文件的内容。当这个头文件被多次包含时,HEADER_H 宏会被替换为空,从而避免了重复定义的问题。

#ifndef HEADER_H 和 #endif 之间的代码块是头文件的具体实现部分,可以包含函数声明、变量定义、结构体定义等。
这种写法的好处是,当多个源文件需要使用同一个头文件时,可以避免重复包含导致的编译错误,并且可以确保头文件的内容只被包含一次,提高了代码的执行效率。

例如在Motor1.h文件中,已经声明了

#ifndef HEADER_H
    // 这里头文件内容
#define  HEADER_H
#endif

假如我有两个电机要使用同样的函数,那么我可以通过复制粘贴方式,复制出第二个Motor2.h
上面的所说的东西就不会发生冲突,而报警

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢谢~谢先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值