可能重复:
# 和 ## 运算符在 C 中做什么?
对于这个问题,我似乎无法说出正确的谷歌查询,所以我决定问你们这些好人。
我已经看到 # 被用在宏定义中,但这到底是什么意思?
参考:http ://www.flipcode.com/archives/Faking_Templates_In_C.shtml
这就引出了第二个问题,C++ 中的模板是否使用宏实现?
可能重复:
# 和 ## 运算符在 C 中做什么?
对于这个问题,我似乎无法说出正确的谷歌查询,所以我决定问你们这些好人。
我已经看到 # 被用在宏定义中,但这到底是什么意思?
参考:http ://www.flipcode.com/archives/Faking_Templates_In_C.shtml
这就引出了第二个问题,C++ 中的模板是否使用宏实现?
阅读有关cpp
预处理器的 GCC 文档。#
符号用于宏参数的字符串化##
,double用于连接
C++ 模板不是作为预处理器文本宏实现的。您可能会觉得它们是产生抽象语法树的宏(C++ 的一些核心子集)。
仅供参考,Common Lisp有一个更强大的宏系统。
##
将两个标记连接在一起,在 的情况下type##_InitVector
,内容type
与_InitVector
.