C++的delete操作

来源:互联网 发布:itunes windows xp版 编辑:程序博客网 时间:2024/05/16 14:42

char *m_pSendBuffer = new char[m_nSendBufferLen];

delete[] m_pSendBuffer;               // OK

 

 

 

char *m_pSendBuffer = new char[m_nSendBufferLen];

m_pSendBuffer = m_pSendBuffer + 10;

delete[] m_pSendBuffer;             //Error

 

正确的做法是:

char *m_pSendBuffer = new char[m_nSendBufferLen];

char *Tmp = m_pSendBuffer ;

m_pSendBuffer = new char[10];

memcpy(m_pSendBuffer,Tmp,10);

delete[] Tmp;

 

delete[] m_pSendBuffer;          // OK

 

原创粉丝点击