【发布时间】:2015-11-04 09:10:39
【问题描述】:
因此,在让我的定义宏工作时,我找到了 # 和 ## 宏助手,并使用它们来简化我的宏。宏的关键部分将变量设置为包含变量名称的字符串(但不是单独的变量名称)。作为一个简化的例子,让我们使用一个名为 SET(X) 的宏,它应该将 SET(something) 扩展为 something = "pre_something"。
到目前为止,我发现的唯一方法是使用两个宏,例如 #define QUOTE(X) #X 和 #define SET(X) X = QUOTE(pre_##X)。但是,使用多个宏似乎过度,并且可能会导致进一步的宏扩展问题(我认为)。有没有一种更简洁的单行方式来做同样的事情?
【问题讨论】: