_messageMap

来源:百度知道 编辑:UC知道 时间:2024/06/25 22:03:27
MFC里有一个宏DECLARE_MESSAGE_MAP,其申明如下:
#define DECLARE_MESSAGE_MAP()\
static AFX_MSGMAP_ENTRY _messageEntries[];\
static AFX_MSGMAP messageMap;\
virtual AFX_MSGMAP* GetMessageMap() const;

这里的_messageEntries是个空数组,C++里能定义空数组吗?内存是在哪分配的?
感谢楼下的。但是估计你没有仔细看我的问题。

_messageEntries不是空数组的意思,他只是一个指向AFX_MSGMAP_ENTRY类型的指针。
在MFC消息映射过程中,分为两步,一步就是你所说的DECLARE_MESSAGE_MAP宏,还有一个你没有看到,那就是IMPLEMENT_MESSAGE_MAP宏,这个在CPP文件当中,在这个宏中,你可以看到他对_messageEntries这个指针的指向操作。