c++ 中这句define什么意思呀

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:07:09
#define POSCHECK_FIELD(i)int __poscheck##i;

例如:
POSCHECK_FIELD(5)
那么编译时,就会当作:int __poscheck5 //<<<<------------看见了吗?5变到这里了。

##表示连接前后的串
比如你在程序中有这么一句:
POSCHECK_FIELD(5)
那么宏替换后就是:
int __poscheck5;

带参数的宏
POSCHECK_FIELD(i)
等效于
int __poscheck##i

宏定义
POSCHECK_FIELD(1) 等价于 int __poscheck1

POSCHECK_FIELD(2) 等价于 int __poscheck2