我有以下代码
void foo()
{
char* pcBlock = new char[1000];
...
delete[] pcBlock;
...
pcBlock = new char[100000];
...
delete[] pcBlock;
}
下面的代码会导致内存泄漏吗?
void foo()
{
char* pcBlock = new char[1000];
...
pcBlock = new char[100000];
...
delete[] pcBlock;
}
最佳答案
是的,如果您在第一个delete[] pcBlock
中没有...
,则可能会发生内存泄漏。重新分配指针不会自动删除它先前指向的内容。