美文网首页C++基础
C++ define 宏定义特殊字符

C++ define 宏定义特殊字符

作者: jy1lnz | 来源:发表于2022-01-11 19:09 被阅读0次

    C++ 宏定义有几个特殊字符

    • #
      可以吧语言符号转化为字符串
    #define test(x) #x
    printf ("%s", test(100)); // 输出100
    // 也可以作为函数的参数,作为一个字符串参数传进去
    #define test(x) print(#x)
    void print(const char* str)
    {
        printf("%s\n", str);
    }
    test(1000); // 输出1000
    
    • ##
      可以连接两个语言符号转化成单个语言符号
    #define NEW_NAME(name) new_##name
    int NEW_NAME(a) = 10;
    printf("%d\n", new_a);
    
    • ... 和 VA_ARGS
      ...放在最后,剩余的参数放到...里,可以通过VA_ARGS使用。
    #define PRINT(a, ...) printf(a, __VA_ARGS__)
    PRINT("%d %d %d\n", 1, 2, 3);
    
    • 多行宏定义
      行末加上 /
    • 定义和取消
    #define [MacroName] [MarcoValue]
    #undef [MarcoName]
    

    相关文章

      网友评论

        本文标题:C++ define 宏定义特殊字符

        本文链接:https://www.haomeiwen.com/subject/jknwcrtx.html