宏定义

#define  标识符    标记序号

#undef  未知标识符


给顶下列定义:

#define cat(x, y)    x##y

宏调用cat(var, 123)将生成var 123, 但宏调用cat(cat(1, 2), 3)没有定义: ##阻止了外层调用的扩展,产生cat(1,  2)3,          )3不是一个合法的记号, 采用下列定义可实现二层宏定义:#define xcat(x, y)    cat(x, y),   xcat(cat(1, 2), 3)将生成123


你可能感兴趣的:(C/C++)