C宏磅号和加号

C宏磅号和加号,c,C,我遇到了下面的代码片段。这里的双磅符号和加号是什么意思 #define MPID_Get_ptr(kind,a,ptr) \ { \ switch (HANDLE_GET_KIND(a)) { \ case HANDLE_KIND_DIRECT: \

我遇到了下面的代码片段。这里的双磅符号和加号是什么意思

#define MPID_Get_ptr(kind,a,ptr)                    \
{                                                   \
   switch (HANDLE_GET_KIND(a)) {                    \
      case HANDLE_KIND_DIRECT:                      \
          ptr=MPID_##kind##_direct+HANDLE_INDEX(a);
谢谢,
Zack

这是令牌粘贴操作符

发件人:

“预处理器运算符
##
提供了在宏扩展期间连接实际参数的方法。如果替换文本中的参数与
##
相邻,则该参数将被实际参数替换,删除
##
和周围的空白,并重新扫描结果。例如,宏粘贴将其两个参数连接在一起:

#define paste(front, back) front ## back
因此
paste(name,1)
创建令牌
name1


谢谢你的解释。其余部分的加号是什么意思?你能解释一下吗?谢谢。这是个加号。除了添加之外,它在这里没有任何特殊意义。可能是