假设我想取消将宏参数转换为"text"
到text
的宏参数。
#define UN_STRINGIFY(x) /* some macro magic here */
现在调用此宏将从其参数中删除
""
UN_STRINGIFY("text") // results in ----> text
这与宏字符串化相反:
#define STRINGIFY(x) #x
这可能吗,还是我在玩宏观邪恶?
最佳答案
这是不可能的。这可能是一件好事:如果您传递字符串,则假定可以在其中放入几乎所有内容。取消字符串化会突然导致编译器实际上关心该字符串的内容。