我在我的應用程序中縮小了我的AVI視頻播放器內存泄漏。我有以下代碼:刪除複製的指針指向不同的指針類型會導致內存泄漏嗎?
...
LPBYTE pChunk = new BYTE[lSize];
if(!pChunk)
return false;
hr = AVIStreamReadFormat(pStream, AVIStreamStart(pStream), pChunk, &lSize);
if(hr)
{
delete [] pChunk;
return false;
}
m_pVideoFormats[i] = (LPBITMAPINFO)pChunk;
後來,當談到時間刪除視頻,我只是簡單地刪除:
if(m_pVideoFormats[i])
delete [] ((LPBYTE)m_pVideoFormats[i]);
這會不會導致因爲我是如何鑄造此內存泄漏指針在哪?謝謝!
不,對象在被刪除時知道自己的大小,不管任何投射。作爲旁註,不需要檢查是否與NULL不同,因爲NULL指針的刪除完全有效。 – oddstar 2012-04-06 16:11:34