#define 是C/C++的宏定义命令,#undef 终止宏定义的作用域,方便程序修改,提高运行效率。
#define 将标识符替换为字符串,有带参数和不带参数两种格式:
1.不带参数(简单的宏替换)
#define PI 3.1415926
2.带参数(类似函数)
#define PI(x) x*x
PI(2+2)即为2+2*2+2,即8
宏替换发生在编译前的预处理阶段,进行简单的字符串替换
3.#define 的特殊符号
#define Conn(x,y) x##y //x连接y
Conn(abc,cba)结果为abccba
#define ToChar(x) #@x //为字符x加上单引号
ToChar(x)结果为’x’
#define ToString(x) #x //为字符串x加上双引号
ToString(xxx)结果为“xxx”