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