陈述:
使用 new int[10] 分配的内存必须使用 delete[] 释放。
所以..
new int[10];
那我怎么删除呢?
编辑:谢谢你们 :) 我认为威尔逊、保罗、蒂姆等人是对的,声明省略了一些词因此让我感到困惑 - -...这很简单
int * p = new int[10];
delete [] p;
不过,我从未见过 Rob 的答案,对我来说看起来真的很新!任何解释将不胜感激。:)
delete[] new int[10];
您缺少一个变量来保存从 new 返回的值。你应该有类似的东西:
int* intArray = new int[10];
然后当你想删除内存时,你通过变量引用它:
delete[] intArray;
就像它说的:
int *foo = new int[10];
delete[] foo;
int * p = new int[10]; // allocate p
// do stuff with p
delete [] p; // release p when you're done