ifndef的用法
来源:互联网 发布:可以看编程视频的网站 编辑:程序博客网 时间:2024/04/30 13:41
#include指令的缺陷,导致同一个头文件会被多次引入,使用ifndef可以避免多次引入。
例如一个程序中包含如下文件:dialog.cpp dialog.h network.cpp network.h log.cpp log.h
dialog.cpp中include了network.h和log.h
network.h中也include了log.h
这样dialog.cpp中实际上引入了两次log.h。
在编译的时候,编译器会因为log.h中的函数被定义了两次而报错。
使用ifndef就会避免这个问题。
如果用VC编译器,也可以不使用ifndef,改用#pragma once预编译指令就可以了。
#ifndef 标识1 //判断"标识1"是否定义,如果被定义则返回假,如果没有被定义则返回真。
/*举例:*/
语句1 #ifndef 标识1
语句2 #define 标识1
语句3 #endif
语句4 ……
语句5 ……
该段代码意思是:
/*举例:*/
语句1 #ifndef 标识1
语句2 #define 标识1
语句3 #endif
语句4 ……
语句5 ……
该段代码意思是:
如果标识1没有被定义,则重定义标识1,即执行语句2、语句3;
如果标识1已经被定义,则直接跳过语句2、语句3,直接执行语句4、语句5、……
/***********************************/
备注:#ifndef 和 #endif 要一起使用,如果丢失#endif,可能会报错。
/***********************************/
备注:#ifndef 和 #endif 要一起使用,如果丢失#endif,可能会报错。
0 0
- #ifndef的用法
- #ifndef的用法
- #ifndef的用法
- #ifndef的用法
- #ifndef的用法
- ifndef的用法
- #ifndef...#endif 的用法
- #ifndef的用法
- #ifndef,#define,#endif的用法
- #ifndef#define#endif的用法
- #ifndef#define#endif的用法
- #ifndef#define#endif的用法
- #ifndef#define#endif的用法
- #ifndef#define#endif的用法
- #ifndef#define#endif的用法
- #ifndef#define#endif的用法
- #ifndef#define#endif的用法
- #ifndef #define #endif的用法
- [图论]用Edmonds-Karp算法求解最大流问题(C语言实现)
- HDU-1253-胜利大逃亡
- HDU5638 bestcoder#74 Toposort 题解&代码
- Caffe中Loss Layer原理的简单梳理
- Hibernate组件作为Map索引(四)
- ifndef的用法
- pat1010:一元多项式求导
- SpringMVC的工作流程
- 第二周上机实践项目——项目3-小试循环
- WebView图片自适应屏幕
- UVa1586 分子量+hdu1274的3ab(b)
- 新手学Linux(三)----使用 Vagrant 打造跨平台开发环境(二)
- 常用的工具类
- 动态文字排版(GridView与ArrayAdapter)