c++ #define 宏
1.#define 宏的使用:
#define PI 3.1415926 // 把程序中出现的PI全部换成3.1415926
#define S(a,b) a*b // area=S(3,2);第一步被换为area=a*b; ,第二步被换为area=3*2;
// 实参如果是表达式容易出问题
#define S(r) r*r
area=S(a+b); // 第一步换为area=r*r;,第二步被换为area=a+b*a+b;
//正确的宏定义是 #define S(r) ((r)*(r))
更具体可见链接
2.#undef使用
undef用于取消宏定义
#include <stdio.h>
#define PI 3.14
#undef PI
main() {
printf("%f",PI);
}
执行上面示例代码,得到以下结果
Compile Time Error: 'PI' undeclared
参考链接