C++ 预处理和宏定义

1. 预处理

[预处理](Preprocess),是指在C++程序源代码被编译之前,由预处理器(Preprocessor)对C++程序源代码进行的处理。这个过程并不对程序的源代码进行解析,但它把源代分割或处理成为特定的符号用来支持宏调调用。

#include 

包含头文件的最常用预处理

2. 宏定义

是一种批量处理的称谓,它根据预定义的规则替换一定的文本模式 。

  • #define : 标识符替换列表,在文件后面的内容中,不管标识符在任何位置出现,预处理器都会用替换列表代替它。

  • #和##的作用和用法#的功能是将其后面的宏参数进行字符串化操作,简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。##连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串联接起来,从而形成一个新的子串。但它不可以是第一个或者最后一个子串。 ;

举例:

#include
#define SQR(x) (x*x)
#define STR(s)  #s
#define CONS(a, b) (int)(a##e##b)

int main()
{
    printf (STR(cvk));
    printf("\n");
    printf("%d\n",CONS(2,3));
    return 0;
}

输出的结果:

cvk
2000

你可能感兴趣的:(C++ 预处理和宏定义)