- #include指示符读入指定文件的内容,它包含两种格式:
#include <some_file.h> //用于标准头文件
#include “my_file.h” //用于用户提供的头文件
- 被包含的文件还可以含有指示符。所以可能出现嵌套包含的情况,即一个头文件可能被多次包含在一个源文件中。条件指示符可防止这种头文件的重复处理。如下:
#ifndef BOOKSTORE_H
#define BOOKSTORE_H
/*Bookstore.h的内容*/
#endif
使用#ifndef ……就是实现条件编译,防止变量重复定义.在大规模的程序开发里面,基本上每个头文件的第一行就是#ifndef ***。是为了防止重复引用该头文件。
#ifdef A //if定义了A
#define B //那么定义B
#endif //结束if
#ifndef A //if not 定义了A
#define B //那么定义B
#endif //结束if
#define A //定义A
#undef A //取消定义A.也可用于取消定义一个本来已经是未定义的条件编译符号
预处理器是编译过程中单独执行的第一个步骤。 两个最常见的预处理指令是#include和#define.
- assert()是C语言标准库中提供的一个通用预处理宏。代码中常用assert()来判断必需的前提条件。为了使用assert(),必须包含以下头文件:
#include <assert.h>
assert.h是该C库头文件的C名字,cassert.h是该C库头文件的C++名字。使用c名字时,使用以上的include后就可以直接使用了。而使用c++名字时除了用#include <cassert>之外,还得加上以下 using语句。因为所有C++库名字是在名字空间std中被定义的。
using namespace std;