“C++:预处理/文件包含处理”的版本间差异
来自Peter_Matthew的Wiki
Peter Matthew(讨论 | 贡献) 小 (→文件包含的作用) |
Peter Matthew(讨论 | 贡献) 无编辑摘要 |
||
第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命令的作用相当于写几十行、几百行甚至更多行的内容。这种常用在文件头部的被包含的文件称为“标题文件”或“头部文件”。
头部文件一般包含以下几类内容:
- 对类型的声明。
- 函数声明。
- 内置(inline)函数的定义。
- 宏定义。用#define定义的符号常量和用const声明的常变量。
- 全局变量定义。
- 外部变量声明。如entern int a;
- 还可以根据需要包含其他头文件。
两种形式
“文件包含”处理的#include命令的一般形式为
#include<文件名>
或
#include"文件名"
如
#include<iostream>
或
#include"iostream"
都是合法的。
其区别是#include<文件名>会直接按系统指定的目录检索,然后再在文件所在目录检索;#include"文件名"会先在文件所在目录检索,然后再按系统指定的目录检索。