导语
在编译器对源程序进行编译之前,首先要由预处理器对程序文本进行预处理。预处理器提供一组编译预处理指令和预处理操作符。预处理指令实际上不是C++语言的一部分,它是用来扩充C++程序设计的环境。所有的预处理指令在程序中都是以“#”来引导,每一条预处理指令单独占一行,不要用分号结束。预处理指令可以根据需要出现在程序中的任何位置。
一:预处理指令
1.1 #include
文件包含指令,作用是将另一个源文件嵌入到当前源文件中该点出。
例如:#include< iostream>或者#include”stdio.h”
1.2 #define和#undef
#define是用来定义符号常量,在程序内部使用应该保持先替换再计算的原则。用#define还可以定义空符号,#define MYHEAD_H 定义它的目的,仅仅是表示”MYHEAD_H已经定义过”这样一种状态。
例如:#define PI 3.14
#undef的作用是删除由#define定义的宏,是之不起作用。
1.3 条件编译指令
使用条件编译指令,可以限定程序中的某些内容要在满足一定条件的情况下才参与编译。因此,利用条件编译可以使同一个源程序在不同的编译条件下产生不同的目标代码。
#if #else #endif #elif #ifdef #ifndef
二:预处理操作符
deifned是一个预处理的操作符,而不是指令,因此不要以#开头。