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;

原文地址:https://www.cnblogs.com/eustoma/p/5814573.html