C++编译指令

C++的源程序可包含各种编译指令,以指示编译器对源代码进行编译之前先对其进行预处理所有的编译指令都以#开始,每条指令单独占用一行,同一行不能有其他编译指令和C++语句(注释例外)。编译指令不是C++的一部分,但扩展了C++编程环境的使用范围,从而改善程序的组织和管理。

嵌入指令

嵌入指令#include指示编译器将一个源文件嵌入到该指令所在的位置。尖括号或双引号中的文件名可含有路径信息。如:#include<\user\prog.h>注意:由于编译指令不是C++的一部分,因此在这里表示反斜杠时只需使用一个反斜杠。如果在C++程序中表示上述文件名,则必须使用双反斜杠,如:char fname[]="\\user\\prog.h"

宏定义

#define指令定义一个标识符及串,在源程序中每次遇到该标识符时,编译器将自动用后面的串代替它。该标识符称为宏名,替换过程称为宏替换。宏定义的一般形式为:#define 宏名 替换正文。注意:宏定义由新行结束,而不以分号

结束,分号视为替换正文的一部分

条件编译指令

条件编译指令是指#if、#else、#elif和#endif,它们构成了类似C++的if选择结构,其中#endif表示一条指令结束。

defined操作符

关键字defined不是指令,而是一个预处理操作符,用于判定一个标识符是否已经被#defined定义,如果标识identifier已被#defined定义,则defined(identifier)为真,否则为假。

在多文件设计中,由于文件包含指令可以嵌套使用,可能会出现不同文件包含了同一个头文件,这样会引起变量及类的重复定义。为了避免重复编译类的同一个头文件,可对这类头文件使用条件编译。

你可能感兴趣的:(C++,c++)