c++二级指针如何手动释放?double** PP = new double* [NSEG + 1];

double** PP = new double* [NSEG + 1];//如何手动释放?我看网上说依次释放内存空间,我下面这样释放对吗?

if (PP != NULL)
{
delete[] PP;
PP = NULL;
}
if (* PP != NULL)
{
delete[] * PP;
* PP = NULL;
}

不需要双层释放,这样就行。
除非你pp的每个元素如pp[0], pp[1]也用了new,那就要双层释放,那也是先释放pp[0], pp[1], 再释放PP
if (PP != NULL)
{
delete[] PP;
PP = NULL;
}
温馨提示:答案为网友推荐,仅供参考
相似回答