C语言扩展:以X宏作为参数
示例
通过将“X”宏的名称作为主宏的参数,可以稍微概括一下X宏方法。这具有帮助避免宏名称冲突以及允许将通用宏用作“X”宏的优点。
与X宏一样,主宏代表其重要性特定于该宏的项目列表。在此变体中,可以这样定义一个宏:
/* declare list of items */
#define ITEM_LIST(X) \
X(item1) \
X(item2) \
X(item3) \
/* end of list */然后,可能会生成代码以打印项目名称,如下所示:
/* define macro to apply */ #define PRINTSTRING(value) printf( #value "\n"); /* apply macro to the list of items */ ITEM_LIST(PRINTSTRING)
扩展为以下代码:
printf( "item1" "\n"); printf( "item2" "\n"); printf( "item3" "\n");
与标准X宏相反,在标准X宏中,“X”名称是主宏的内置特征,采用这种样式,随后取消定义用作参数的宏可能是不必要的,甚至是不受欢迎的(PRINTSTRING在本示例中)。
热门推荐
3 火把节祝福语简短
10 祝女儿六一祝福语简短
11 妈咪跟我生日祝福语简短
12 开业祝福语大全简短赞美
14 小学立秋祝福语大全简短
15 同学毕业祝福语有趣简短
16 妈妈的中考祝福语简短
17 生日祝福语 简短独特情话
18 新婚贺词祝福语创意简短