C++的“#”和“##”的用法
#a
会创建一个字符串:"a"
;a##b
会创建一个新的token
:ab
。
#include <stdio.h> #define f(a,b) a##b #define g(a) #a #define h(a) g(a) int main() { printf("%s\n",h(f(1,2))); printf("%s\n",g(f(1,2))); return 0; }
输出
h(f(1, 2)) -> h(12) -> g(12) -> "12" g(f(1, 2)) -> "f(1, 2)"