预处理指令:在编译之前进行处理的指令。
常见的预处理指令有以下几个
#define
#undef
#ifdef
#ifndef
#if #elif #else #endif #line #error
#promga
#include
简单看下用法(注意#endif)
#ifndef MAX_WIDTH
#define MAX_WIDTH 100 #endif #if MAX_WIDTH>200 #undef MAX_WIDTH #define MAX_WIDTH 200
#elif MAX_WIDTH<50
#undef MAX_WIDTH #define MAX_WIDTH 50 #else #undef MAX_WIDTH #define MAX_WIDTH 100 #endif
接下来是#error的用法
#ifndef __cplusplus
#error A C++ compiler is required #endif
如果没有定义__cplusplus这个宏,则让编译器报错,错误信息为“A C++ compiler is required”。
然后是#line的用法
#line 200 cout << __LINE__ << endl; //200
#line 200指定下一行的行号为200,__LINE__是本行语句的行号。
#promga是关于配置编译器的,没有正式的定义,编译器可以自定义其用途。
最后是#include的用法
#include "iostream" #include <iostream>
两种表达的唯一区别是编译器应该在什么路经下寻找指定的文件。第一种情况下,文件名被写在双引号中,编译器首先在包含这条指令的文件所在的目录下进行寻找,如果找不到指定文件,编译器再到被配置的默认路径下(也就是标准头文件路径下)进行寻找。第二种情况下,编译器会直接到默认标准头文件路径下寻找。