C++的“#”和“##”的用法

#a会创建一个字符串:"a"a##b会创建一个新的tokenab

#include <stdio.h>
#define f(a,b) a##b
#define g(a)   #a
#define h(a) g(a)

int main()
{
        printf("%s
",h(f(1,2)));
        printf("%s
",g(f(1,2)));
        return 0;
}

输出

h(f(1, 2)) -> h(12) -> g(12) -> "12"
g(f(1, 2)) -> "f(1, 2)"

  

原文地址:https://www.cnblogs.com/AntonioSu/p/15147812.html