删除现有指针数组的值,然后将新值分配给指针数组

时间:2015-07-28 20:08:29

标签: c++ arrays pointers

是否可以执行以下操作?

 int *n[10];

 for(int i=0; i<10; i++) {
     n[i] = NULL;
 }

 for(int i=0; i<10; i++) {
     n[i] = new int(); // and whatever value n[i] is assigned to it
     //
 }

 // then delete again
 for(int i=0; i<10; i++) {
     delete n[i];
     n[i] = NULL;
 }

然后使用数组,好像它是新鲜的?

1 个答案:

答案 0 :(得分:1)

没有什么能阻止你。只要您不留下悬空指针(delete n[i]而不重新分配n[i])或导致内存泄漏(重新分配n[i]而不delete n[i]),您的代码就没有问题。

您创建的数组n供您使用。无论你想使用它,你都可以。