我似乎无法用正确的谷歌查询这个问题,所以我决定问你很棒的人。
我见过#用于宏定义,但它到底意味着什么?
参考:http://www.flipcode.com/archives/Faking_Templates_In_C.shtml
这引出了一个次要问题,C ++中的模板是使用宏实现的吗?
答案 0 :(得分:2)
阅读cpp
preprocessor上的GCC文档。 #
符号用于stringification个宏参数,而##
用于concatenation
C ++模板未实现为预处理器文本宏。您可能会认为它们是生成abstract syntax trees(C ++的某个核心子集)的宏。
仅供参考,Common Lisp拥有更强大的宏观系统。
答案 1 :(得分:0)
##
在type##_InitVector
的情况下将两个令牌汇总在一起,内容type
与_InitVector
。