concat宏浅析
concat 是一个常见的宏编程技术,用于将两个或多个预处理器标记(通常是宏参数或宏定义)连接(concatenate)成一个单一的标记, 通常通过使用预处理器的 ## 操作符实现,该操作符用于连接两个标记。
`Concat`宏的基本用法
假设有一个 concat
宏定义如下:
1 | #define concat(a, b) a ## b |
这里,## 操作符会将它的两个参数 a 和 b 连接成一个单一的标记。
示例
使用 concat 来动态创建函数名:
1 |
|
在这个例子中,concat(func, 123) 会在预处理阶段被展开为 func123,因此 concat(func, 123)(); 实际上调用的是 func123()函数。