CUDA标题中"#define something p ## n"的含义

Ash*_*Ash 2 c c++ cuda

我在.cuh文件中遇到以下行:

#define mp_ptr(n)     P##n
Run Code Online (Sandbox Code Playgroud)

这个P##n部分是什么意思?

小智 6

它意味着连接.它是C预处理器指令.

所以,mp_ptr(1)成为P1,mp_ptr("foobar")成为P"foobar"

  • 请注意,`##`通常被称为"令牌粘贴"操作符 - 我提到这一点,因为它有助于谷歌搜索等. (3认同)