MFC中动态创建的问题
深入浅出一书中动态创建一节
struct CRuntimeClass
{
LPCSTR m_lpszClassName;
int m_nObjectSize;
UINT m_wSchema;
CObject *(PASCAL *m_pfnCreateObject)();
CObject * CreateObject();
static CRuntimeClass * PASCAL Load();//
CRuntimeClass *m_pBaseClass;
static CRuntimeClass *pFirstClass;//
CRuntimeClass *m_pNextClass;
};
CRuntimeClass结构体中共出过2个静态元素还有7个元素需要赋值
而在宏_IMPEMENT_RUNTIMECLASS中对RUNTIMECLASS的元素只有6个赋值
#define _IMPLEMENT_RUNTIMECLASS(class_name,base_class_name,wSchema,pfnNew) \
static char _lpsz##class_name[]=#class_name; \
CRuntimeClass class_name::class##class_name={ \
_lpsz##class_name,sizeof(class_name),wSchema,pfnNew, \
RUNTIME_CLASS(base_class_name),NULL}; \
CRuntimeClass class_name::class##class_name={ \
_lpsz##class_name,sizeof(class_name),wSchema,pfnNew, \
RUNTIME_CLASS(base_class_name),NULL}; \
请问这是什么意思