#define创建一个宏,该宏是标识符或参数化标识符与令牌字符串的关联。定义宏后,编译器可以用令牌字符串替换源文件中每次出现的标识符。
#define identifier token-string
这就是预处理器的使用方式。#define指令使编译器用令牌字符串替换源文件中每次出现的标识符。标识符仅在形成令牌时才被替换。也就是说,如果标识符出现在注释,字符串或较长标识符的一部分中,则标识符不会被替换。
#include<iostream> #define MY_VAR 55 using namespace std; int main() { int x = 10; cout << x + MY_VAR; // After preprocessing this expression becomes: x + 55 return 0; }
输出结果
这将给出输出-
65
您可以在MSDN https://docs.microsoft.com/zh-cn/cpp/preprocessor/hash-define-directive-c-cpp中阅读有关#define指令的更多信息。