-1

陈述:

使用 new int[10] 分配的内存必须使用 delete[] 释放。

所以..

new int[10];

那我怎么删除呢?

编辑:谢谢你们 :) 我认为威尔逊、保罗、蒂姆等人是对的,声明省略了一些词因此让我感到困惑 - -...这很简单

int * p = new int[10];

delete [] p; 

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

delete[] new int[10];
4

3 回答 3

6

您缺少一个变量来保存从 new 返回的值。你应该有类似的东西:

int* intArray = new int[10];

然后当你想删除内存时,你通过变量引用它:

delete[] intArray;
于 2013-02-27T20:54:58.653 回答
1

就像它说的:

int *foo = new int[10];
delete[] foo;
于 2013-02-27T20:54:06.453 回答
1
int * p = new int[10]; // allocate p

// do stuff with p

delete [] p;           // release p when you're done
于 2013-02-27T20:54:25.720 回答