c++中#if/#ifdef/#ifndef/#endif的使用

曾经接触过这个但没有深入,最近又见到了。

翻过了很多博客,结合书上看到的,总结来说主要有两个作用。

第一个,方便程序开发人员调试(debug),对于一个大程序来说,debug的痕迹到处都是我们又不能让客户看到,可以采用如下方式:

#ifdef DEBUG
cout << “测试成功” << endl;
#endif

如果你的程序#define了DEBUG,那么他就会显示。在这里插入图片描述

上面的程序会输出"测试成功",当你调试成功时,只需要把上面的define隐掉就不显示了。

第二个,最主要的用途,为了防止头文件被重复引用,这里推荐一个老博客:https://blog.csdn.net/abc5382334/article/details/18052757。头文件重复会因此错误,比如说我一个程序文件(.cpp)中引用了a.h这个头文件,我目前这个程序引用了那个cpp文件,又声明了a.h这个头文件就会引起出错。所以在文件中加入#ifndef A_H (if not def a.h),#define A_H #endif,就能达到要求

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值