【发布时间】:2012-12-09 18:13:06
【问题描述】:
我有这个代码:
Derived **args = new Derived*[2];
args[0] = new Derived();
args[0]->setname("BLABLA \n");
cout << args[0]->getname();
delete args[0];
args[1] = new Derived();
args[1]->setname("BLABLABLA\n");
cout << args[1]->getname();
delete args[1];
delete [] args;
delete [] args 是必需的吗?为什么?
另外,Derived **args = new Derived*[2] 到底是做什么的?它是否为两个指向Derived 的指针分配空间?如果是这样,那么如何在堆上动态创建一个包含 2 个 Derived 类型的对象的数组?
【问题讨论】:
标签: c++ heap-memory