分配有新int [10]的内存必须使用delete []取消分配

时间:2013-02-27 20:50:10

标签: c++ memory

声明:

  

使用new [[10]分配的内存必须使用delete []解除分配。

所以..

new int[10];

然后如何删除它?

编辑: 感谢你们 :) 我认为威尔逊,保罗,蒂姆等是正确的,声明省略了一些因此使我困惑的话 - -...它只是

int * p = new int[10];

delete [] p; 

我从未见过Rob的回答,看起来对我来说真的很新!任何解释将不胜感激。:)

delete[] new int[10];

3 个答案:

答案 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