给定一个预处理器宏,例如
#define DECLARE(NAME) \
int NAME; \
int NAME_2
Name_2
表示新标识符。是否可以扩展Name
,以便
DECLARE(x);
变成
int x;
int x_2;
最佳答案
您可以使用##
胶水:
#define DECLARE(NAME) \
int NAME; \
int NAME##_2
关于c++ - 如果直接跟随形成有效标识符的字符,则宏变量不会扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49907716/