我有一个看起来像这样的定义:
#define HELLO "hello"
我想制作"你好"一个宽的字符串,而不必再次输入它,所以我尝试使用这个宏并希望最好:
#define WIDEN(x) L ## x
#define WIDE_HELLO WIDEN(HELLO)
但是,这会扩展为LHELLO
。
我在互联网上找到了其他的例子,他们使用了一个中间宏,它可以工作:
#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
#define WIDE_HELLO WIDEN(HELLO)
中间宏做了什么解决了这个问题?