使用delete []p时,会导致堆的破坏。
它可以工作,但为什么我不能使用delete []p?delete []p只会删除p[0]吗?[]在delete []p中代表什么?
Rectangle *p[3];
for (int i = 0; i<3; i++)
p[i] = new Rectangle();
p[0]->set(3, 4);
p[1]->set(10, 8);
p[2]->set(5, 6);
for(int i=0; i < 3; i++)
cout << "Area is " << p[i]->area() << endl;
delete []p;
我将delete []更改为
for (int i = 0; i<3; i++)
delete p[i];
它可以工作,但为什么我不能使用delete []p?delete []p只会删除p[0]吗?[]在delete []p中代表什么?
Rectangle p [3]
呢? - Casey