C++头文件管理
2016-04-11 18:01
351 查看
1 使用双引号和尖括号的区别
对于很多初学者来说,在引入头文件时用""还是<>肯定还是比较模糊的,这里我们就要注意了,如果我们需要的文件包含在尖括号中,则c++编译器将在存储标准头文件的主机系统中查找;但如果文件名包含在双引号中,则编译器将首先查找当前的工作目录或源代码目录(或其他目录,这取决于编译器)。如果没有在哪里找到头文件,则将在标准位置查找。因此在包含自己的头文件时,应使用引号而不是尖括号。2 预处理器编译指令
在同一个文件中只能将同一个头文件包含一次。记住这个规则很容易,但很可能在不知情的情况下将头文件包含多次。例如可能使用包含了另外一个头文件的头文件。有一种C++技术可以避免多次包含同一个头文件。它是基于预处理器编译指令#ifndef(即if not defined)的。下面的代码片段意味着仅当以前没有使用预处理器编译指令#define定义名称XXX_H时,才处理#ifndef和#endif之间的语句:
#ifndef XXX_H
............
#endif
编译器首次遇到该文件时,名称XXX_H没有定义。在这种情况下,编译器将查看#ifndef和#endif之间的内容,并读取XXX_H的一行。如果在同一个文件中遇到其他包含XXX.h的代码,编译器将知道XXX_H已经被定义,从而跳到#endif后面的一行上。注意这种方法并不能纺织编译器将文件包含两次,而只是让它忽略除第一次包含之外的所有内容。大多数C和c++头文件都是用这种方案。否则,可能在一个文件中定义同一个结构两次,这将导致编译错误。
相关文章推荐
- c++快速简易入门教程_011内联函数
- c++快速简易入门教程_010回调函数
- 【C/C++】计时函数比较
- c++快速简易入门教程_009引用
- c++快速简易入门教程_008函数的覆盖和隐藏
- c语言中的rewind函数,Win CE 不支持,可用fseek函数替换
- c++快速简易入门教程_007虚函数与多态性、纯虚函数
- 第3周 C语言及程序设计初步例程-46 小小型应用系统开发指导(一)
- c++创建txt文件,并写入内容
- C++作业3—本月有几天/定期存款利息计算器/个人所得税计算器
- c++标准模板库_联合容器_Bitsets详解
- c++标准模板库_容器适配器 _Queues(队列)详解
- c++标准模板库_容器适配器 _Stacks(堆栈)详解
- c++标准模板库_顺序结构_List详解
- c++标准模板库_顺序结构_Vectors详解
- c++迭代器Iterator详解
- c++指针详解
- c++实验3-个人所得税计算器
- c++快速简易入门教程_006继承
- cpptest 的安装和破解