<分区>
我想我们都明白在重新分配动态分配的指针以防止内存泄漏时 delete
的必要性。但是,我很好奇,C++ 在多大程度上强制使用 delete
?比如下面这个程序
int main()
{
int* arr = new int[5];
return 0;
}
虽然出于所有意图和目的,此处不会发生泄漏(因为您的程序正在结束,操作系统将在返回后清理所有内存),但标准是否仍然需要——或推荐——使用 delete[]
在这种情况下?如果不是,是否还有任何其他原因导致您在此处删除[]
?