假设我想取消将宏参数转换为"text"text的宏参数。

#define UN_STRINGIFY(x) /* some macro magic here */

现在调用此宏将从其参数中删除""
UN_STRINGIFY("text") // results in ----> text

这与宏字符串化相反:
#define STRINGIFY(x) #x

这可能吗,还是我在玩宏观邪恶?

最佳答案

这是不可能的。这可能是一件好事:如果您传递字符串,则假定可以在其中放入几乎所有内容。取消字符串化会突然导致编译器实际上关心该字符串的内容。

07-26 00:00
查看更多