0

可能重复:
# 和 ## 运算符在 C 中做什么?

对于这个问题,我似乎无法说出正确的谷歌查询,所以我决定问你们这些好人。

我已经看到 # 被用在宏定义中,但这到底是什么意思?

参考:http ://www.flipcode.com/archives/Faking_Templates_In_C.shtml

这就引出了第二个问题,C++ 中的模板是否使用宏实现?

4

2 回答 2

2

阅读有关cpp预处理器的 GCC 文档。#符号用于宏参数的字符串化##,double用于连接

C++ 模板不是作为预处理器文本宏实现的。您可能会觉得它们是产生抽象语法树的宏(C++ 的一些核心子集)。

仅供参考,Common Lisp有一个更强大的宏系统。

于 2012-10-21T11:05:35.323 回答
0

##将两个标记连接在一起,在 的情况下type##_InitVector,内容type_InitVector.

于 2012-10-21T11:05:04.590 回答