在C/C++的宏定义中,##是一种特殊符号。它可以将两个标记(token)合并为一个标记,用于宏的参数处理和字符串拼接等场景。示例如下:
#define CONCAT(a, b) a##b //定义一个宏
int abc = 123; int def = 456;
int main() { int abcdef = CONCAT(abc, def); //使用宏进行字符串拼接
return 0;
}
上述代码中,宏CONCAT使用了##符号,将两个标记a和b合并成了一个标记abcdef。实际上,宏替换后的代码相当于:
int abcdef = abcdef;
注意,变量后面加上##是错误的用法,只能在宏定义中使用。
上一篇:变量后面的 Android 问号
下一篇:变量换位