//CVMI.cpp
static char* std1[] = {"a","b","c"};
static char* std2[] = {"1","2","3"};
CVMI::CVMI(HWND p)
{
//Does nothing.
}
//CVMI.h
const int cMaxIPAddr = 100;
class CVMI : public VMIListener
{
public:
CVMI(HWND p);
VMI vmi;
bool bOpen;
char sVoceraIPAddr[cMaxIPAddr + 1];
long iMessageID;
};
以上是我在线程中使用并运行 for 循环的类的代码。如果将以下三行放在那个 for 循环中,那么我注意到我的记忆会飞速发展。
m_pVMI = new CVMI(m_hNotifyWnd);
delete m_pVMI;
m_pVMI = NULL;
我在这里做错了什么?我虽然我的删除每次都会处理内存分配。还是我必须专门释放析构函数〜CVMI()中的所有资源?. 这是我第一次尝试解决内存泄漏问题,而作为 C++ 初学者并不容易。
编辑:
class VMI_API VMIListener : public Listener
{
public:
// Message acknowledgement. iAckCode is one of AC codes.
virtual void HandleAck(long iMessageID, char* sLoginID, int iAckCode) = 0;
virtual void HandleResponse(long iMessageID, char* sLoginID, char* sResponse) = 0;
virtual void HandleConnectionFailed(void) = 0;
};