C语言的##

比如说我定义一个宏:
#define DECLARE_DYNAMIC(class_name) \
public:
static CRuntimeClass class##class_name; \
virtual CRuntimeClass* GetRuntiemClass() coonst;

出现的宏定义之中的##,用来告诉编译器,把两个字符串系在一起。如果你这么使用此宏:
DECLARE_DYNAMIC(CView)
编译器前置处理器为你做出的代码是:
public:
static CRuntimeClass classCView;
virtual CRuntimeClass* GetRuntiemClass() coonst;

版权声明:本文为eustoma原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/eustoma/p/5814573.html