“C++:预处理/文件包含处理”的版本间差异

来自Peter_Matthew的Wiki
无编辑摘要
第15行: 第15行:


<nowiki>#include</nowiki>命令的应用很广泛,绝大多数C++程序中都包括#include命令。现在,库函数的开发者把这些信息写在一个文件中,用户只需将该文件“包含”进来即可(如调用数学函数的,应包含cmath文件),这就大大简化了程序,写一行#include命令的作用相当于写几十行、几百行甚至更多行的内容。这种常用在文件头部的被包含的文件称为“标题文件”或“头部文件”。
<nowiki>#include</nowiki>命令的应用很广泛,绝大多数C++程序中都包括#include命令。现在,库函数的开发者把这些信息写在一个文件中,用户只需将该文件“包含”进来即可(如调用数学函数的,应包含cmath文件),这就大大简化了程序,写一行#include命令的作用相当于写几十行、几百行甚至更多行的内容。这种常用在文件头部的被包含的文件称为“标题文件”或“头部文件”。
'''头部文件一般包含以下几类内容:'''
# 对类型的声明。
# 函数声明。
# 内置(inline)函数的定义。
# 宏定义。用#define定义的符号常量和用const声明的常变量。
# 全局变量定义。
# 外部变量声明。如entern int a;
# 还可以根据需要包含其他头文件。
== 两种形式 ==
“文件包含”处理的#include命令的一般形式为<pre>#include<文件名></pre>或<pre>#include"文件名"</pre> 如<pre>#include<iostream></pre>或<pre>#include"iostream"</pre>都是合法的。
其区别是#include<文件名>会直接按系统指定的目录检索,然后再在文件所在目录检索;#include"文件名"会先在文件所在目录检索,然后再按系统指定的目录检索。

2021年2月25日 (四) 15:47的版本

所谓“文件包含”处理是指一个源文件可以将另外一个源文件的全部内容包含进来,即将另外的文件包含到本文件之中。
C++提供了#include命令用来实现“文件包含”的操作。

文件包含的作用

“文件包含”的作用是将一份代码复制到另一份代码中,例如

a.cpp b.cpp 使用了“文件包含”的b.cpp
代码片段A 代码片段A
代码片段B
#include"a.cpp"
代码片段B

“文件包含”可以节省程序设计人员的重复劳动时间。

#include命令的应用很广泛,绝大多数C++程序中都包括#include命令。现在,库函数的开发者把这些信息写在一个文件中,用户只需将该文件“包含”进来即可(如调用数学函数的,应包含cmath文件),这就大大简化了程序,写一行#include命令的作用相当于写几十行、几百行甚至更多行的内容。这种常用在文件头部的被包含的文件称为“标题文件”或“头部文件”。

头部文件一般包含以下几类内容:

  1. 对类型的声明。
  2. 函数声明。
  3. 内置(inline)函数的定义。
  4. 宏定义。用#define定义的符号常量和用const声明的常变量。
  5. 全局变量定义。
  6. 外部变量声明。如entern int a;
  7. 还可以根据需要包含其他头文件。

两种形式

“文件包含”处理的#include命令的一般形式为

#include<文件名>

#include"文件名"

#include<iostream>

#include"iostream"

都是合法的。

其区别是#include<文件名>会直接按系统指定的目录检索,然后再在文件所在目录检索;#include"文件名"会先在文件所在目录检索,然后再按系统指定的目录检索。