我们可以使用C预处理器##运算符粘贴3个标记吗?

似乎可以定义一个宏来连接 3 个标记为:

#define concat3(a,b,c) a##b##c

中间令牌(例如由生成的令牌a##bb##c必须是有效的预处理器令牌)是否可以concat3(.,.,.)成功粘贴到所有符合要求的实现上?(1)


(1) 许多编译器支持..作为 case 范围的标记,这使其成为有效标记,但是 C 标准没有定义这个标记,那么concat3()宏会在不支持它的架构上失败吗?

以上是我们可以使用C预处理器##运算符粘贴3个标记吗?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>