比如说我定义一个宏:
#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;