C++ 函数内存泄漏分析:Test_1_3_2 的内存泄漏风险
该函数存在内存泄漏风险。\n\n在函数中,首先通过new操作符动态分配了一个指向指针数组的指针ppwMemLeak,该指针数组的每个元素都是指向IMG_WORD类型的指针。\n\n接着,又通过new操作符分别动态分配了两个IMG_WORD类型的数组,并将它们的地址分别赋给了ppwMemLeak和ppwMemLeak+1。\n\n然后,将ppwMemLeak[0]数组中的第8个元素赋值为9,并将它的引用赋给了temp。\n\n最后,通过delete操作符释放了*ppwMemLeak所指向的数组,以及ppwMemLeak所指向的指针数组。\n\n然而,由于在分配内存时是使用new操作符,而在释放内存时却使用了delete操作符,导致内存泄漏。因为应该使用delete[]操作符来释放通过new[]操作符分配的数组内存。\n\n解决该问题的方法是将最后两行的delete操作替换为delete[]操作,如下:\n\ndelete[] *ppwMemLeak;\ndelete[] ppwMemLeak;'}
原文地址: https://www.cveoy.top/t/topic/pIQF 著作权归作者所有。请勿转载和采集!