搜索

首页  >  问答  >  正文

c++ - ## 在 define 中是什么语法规则?

jdk8源码的allocation.hpp中,有

#define METASPACE_OBJ_TYPE_DECLARE(name) name ## Type,
#define METASPACE_OBJ_TYPE_NAME_CASE(name) case name ## Type: return #name;

  enum Type {
    // Types are MetaspaceObj::ClassType, MetaspaceObj::SymbolType, etc
    METASPACE_OBJ_TYPES_DO(METASPACE_OBJ_TYPE_DECLARE)
    _number_of_types
  };

不理解 ##define 中是什么语法规则.

大家讲道理大家讲道理2758 天前786

全部回复(2)我来回复

  • 某草草

    某草草2017-06-05 11:13:07

    #define是定义变量,2个##是连接运算符,可以查看

    回复
    0
  • 漂亮男人

    漂亮男人2017-06-05 11:13:07

    ## 是连接运算符,参见 https://stackoverflow.com/que...

    回复
    0
  • 取消回复