#ifndef用于避免多重包含
原因:C中,某一个重要的头文件可能被多个文件包含,如果编译的多个文件均包含了同一个头文件,
就可能存在,一个头文件被多次包含的问题。
用法:这个问题,一般用#ifndef来解决。
  1、定义一个与文件名相同的标识符来标识该头文件,点号用下划线替换,例如:myhead_h_,
      因为前下划线被系统库占用了,所以,多添加一个后划线来标识,表示用于标识文件名的惯用法。
2、然后用#ifndef来包含需要的头文件内容。如果之前没有定义该标识符,说明是第一次,则包含内容。
如果,已经定义了,则略过。
3、具体的写法如下:
    #ifndef  myhead_h_
    #define  myhead_h_
    ... 此处为头文件内容
    #endif
#ifndef用于避免多重包含的更多相关文章
- c++中,保证头文件只被编译一次,避免多重包含的方法
		保证头文件只被编译一次 #pragma once这是一个比较常用的C/C++杂注,只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次. #pragma once是编译器相关的,有的编译器支 ... 
- C/C++ 防止头文件重复包含 #pragma once 与 #ifndef 的区别
		为了避免同一个头文件被多重包含/重复包含,有两种方式: 方式一: #ifndef XXX #define XXX ... ... //声明语句 #endif //XXX 方式二: #pragma ... 
- 《C++ Primer》笔记-#include,#ifndef
		1.理解 #include 指示是怎样工作的 #include 设 施是 C++ 预处理器的一部分.预处理器处理程序的源代码,在编译器之前运行. C++ 继承了 C 的非常精细的预处理器.现在的 C+ ... 
- #ifndef用法
		用于避免重复包含头文件 #ifndef _STDIO_H_ #define _STDIO_H_ ...... #endif 
- c/c++头文件中#ifndef/#define/#endif的用法
		想必很多人都看过“头文件中用到的 #ifndef/#define/#endif 来防止该头文件被重复引用”.但是是否能理解“被重复引用”是什么意思?头文件被重复引用了,会产生什么后果?是不是所有的头文 ... 
- [C++] 头文件中的#ifndef,#define,#endif以及#pragma用法
		想必很多人都看过“头文件中用到的 #ifndef/#define/#endif 来防止该头文件被重复引用”.但是是否能理解“被重复引用”是什么意思?头文件被重复引用了,会产生什么后果?是不是所有的头文 ... 
- Linux命令总结大全,包含所有linux命令
		使用说明:此文档包含所有的Linux命令,只有你想不到的没有你看不到的,此文档共计10万余字,有8400多行,预计阅读时间差不多需要3个小时左右,所以要给大家说一说如何阅读此文档 为了方便大家阅读,我 ... 
- 头文件的宏定义#ifndef测试
		一.入题 在头文件的书写中,都加入了如下内容: #ifndef __头文件名_H #define __头文件名_H #endif 曾经在书中看到的解释是“防止重复定义”,今天突然想到为什么是这样的解释 ... 
- @SpringBootApplication 组合注解包含哪些注解及作用
		序:在学习springboot,教程一般对一些注解语焉不详,发现@SpringBootApplication 这个注解包含了很多注解,也就是说使用这个注解可以少写几个注解,这里看源码粘出来一些,仅用于 ... 
随机推荐
- SICP-练习2.17
			[问题] 请定义出过程last-pair.它返回仅仅包括给定(非空)表里最后一个元素的表: (last-pair (list 23 72 149 34)) (34) [分析] last-pair须要处 ... 
- shapefile文件的符号化问题
			我们都知道,ArcGIS的shp文件只以坐标形式保存地图数据,地图的显示方法则是存储都数据库或地图文件(mxd)中,这一点是深信不疑的. 如果我们打开ArcMap,新建一个普通的地图文件(使用标准的模 ... 
- ZH奶酪:【阅读笔记】Deep Learning, NLP, and Representations
			中文译文:深度学习.自然语言处理和表征方法 http://blog.jobbole.com/77709/ 英文原文:Deep Learning, NLP, and Representations ht ... 
- uva 10721 - Bar Codes(dp)
			题目链接:uva 10721 - Bar Codes 题目大意:给出n,k和m,用k个1~m的数组成n,问有几种组成方法. 解题思路:简单dp,cnt[i][j]表示用i个数组成j, cnt[i][j ... 
- SQL:1999基本语法(学习笔记)
			SQL:1999基本语法 SELECT [DISTINCT] * | 列名称 [AS]别名,........ FROM 表名称1 [别名1][CROSS JOIN表名称2 别名2]| [NATURAL ... 
- Spring AOP深入理解之拦截器调用
			Spring AOP深入理解之拦截器调用 Spring AOP代理对象生成回想 上一篇博客中:深入理解Spring AOP之二代理对象生成介绍了Spring代理对象是怎样生成的,当中重点介绍了JDK动 ... 
- 1z0-052 q209_4
			4: You have two tables with referential integrity enforced between them. You need to insert data to ... 
- Linux系统重装与还原
			当初第一次装ubuntu系统时,对文件系统的构成还不太了解,所以在分区的时候给home的分区特别小,导致后期软件都装不进去.说磁盘已满.所以想对系统又一次分区. 上网找了资料,都说用GParted这个 ... 
- ubuntu开机自动启动xampp/lampp的两种方法
			方法一: sudo ln -s /opt/lampp/lampp /etc/init.d/lampp sudo update-rc.d -f lampp defaults 方法二: 1. 在/etc ... 
- map()3
			# -*- coding: utf-8 -*- #python 27 #xiaodeng #map()3 ''' map(...) map(function, sequence[, sequence, ... 
