首页 > 编程知识 正文

宏定义(#ifndef+#define+#endif)的作用

时间:2023-05-04 04:06:17 阅读:246608 作者:51

在头文件中,我们经常会在头文件中见到#ifndef、#define、#endif三者一起使用的宏定义。

例如,在头文件xxx.h中(此样式可参考):

#ifndef __XXX_H__#define __XXX_H__#include <iostream> // 其他代码 #endif

使用#ifndef、#define、#endif组合宏定义的作用是:防止头文件的重复包含和编译。

例如,现在有4个文件:main.cpp、fileA.h、fileB.h、fileC.h,这几个文件的包含关系如下:

在fileC.h中,存在nTest的定义。在这种情况下,编译main.cpp时,系统就会报错,提示nTest重定义,错误信息如下: 

使用本文介绍的#ifndef、#define、#endif宏定义组合,就可以很好的避免此问题,修改后的fileC.h代码如下:

#ifndef __FILEC_H__#define __FILEC_H__#include <iostream> using namespace std; int nTest = 1; #endif

 

负载均衡 更换防火墙 ULB

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。