您的位置:首页 > 编程语言 > C语言/C++

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++头文件都是用这种方案。否则,可能在一个文件中定义同一个结构两次,这将导致编译错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: