一、定义
C++ 宏定义将一个标识符定义为一个字符串,在编译预处理的时候对源程序中的该标识符以指定的字符串来代替。
二、使用格式
1、声明宏定义
#define <宏名>(<参数表>) <宏体>
例:
#define MAXNUM 10
#define ADD(a,b) a+b
2、取消宏定义
#undef <宏名>
例:
#undef MAXNUM
三、使用方式
1、避免重复定义
如果某一个标识符被定义为宏名后,在取消该宏定义之前,不允许重新对它进行宏定义,因此可以使用以下方式避免宏定义的重复使用:
a)取消原有宏定义后重新定义
#if defined MACRO_NAME
#undef MACRO_NAME
#define MACRO_NAME MACRO_VALUE
#endif
b)定义宏之前判断是否已经被定义
#ifndef MACRO_NAME
#define MACRO_NAME MACRO_VALUE
#endif
#if !define MACRO_NAME
#define MACRO_NAME MACRO_VALUE
#endif
2、条件编译
可以使用宏作为代码中判断分支的条件:
#if define MACRO_NAME
......
#else
......
#endif