删除指向对象的指针的指针数组

用户名

我想在我的程序中问一个简单的问题,我在制作某种系统,对于动态分配,我正在使用指向这样的指针的数组

Vehicle **temp=new Vehical*[countVehicle];

然后

temp[countVehicle-1]=new Car();

您一定已经了解我正在尝试做的事情。删除内存时出现问题。您能告诉我在这种情况下如何删除内存。

4个
for ( int i = 0; i < countVehicle; ++i)
{
    delete temp[i];  // assert destructor is virtual!
}
delete[] temp;

确保将基类中的析构函数Vehicle声明为虚拟的,以便在通过基类指针删除对象时调用正确的析构函数,如上例所示。

class Vehicle {
public:
    //...
    virtual ~Vehicle() {}
};

但是,您应该考虑使用std::vector智能指针,例如

{
  std::vector< boost::shared_ptr<Vehicle> > v;
  v.push_back( boost::shared_ptr<Vehicle>( new Car()));
  v[0]->run(); // or whatever your Vehicle can do
  //...
} // << When v goes out of scope the memory is automatically deallocated.

这将简化内存管理。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除指向数组的指针

来自分类Dev

如何从指向指针数组的指针中删除对象?

来自分类Dev

删除指针向量中的指针指向的对象

来自分类Dev

指向指针数组的指针!如何删除?

来自分类Dev

指向指针数组的指针!如何删除?

来自分类Dev

指向对象指针数组的指针的深层复制

来自分类Dev

如何删除指向动态分配对象的指针数组

来自分类Dev

指向指针数组的指针

来自分类Dev

删除指向派生对象的基本指针

来自分类Dev

从指针数组中删除对象

来自分类Dev

初始化指向对象数组的指针

来自分类Dev

C ++制作指向const对象的指针数组

来自分类Dev

销毁指向数组中对象的指针

来自分类Dev

指向C ++中对象数组的指针

来自分类Dev

初始化指向对象数组的指针

来自分类Dev

创建指向对象的空指针数组

来自分类Dev

C ++-创建指向包含类对象指针的数组元素的指针

来自分类Dev

指向数组中指针的指针

来自分类Dev

指向函数指针数组的指针

来自分类Dev

指向指针向量的指针数组

来自分类Dev

C - 指向指针数组的指针

来自分类Dev

删除指向向量的指针

来自分类Dev

指向char的指针与指向数组的指针

来自分类Dev

指向数组的指针错误

来自分类Dev

指针数组(指向结构)

来自分类Dev

指向数组的指针

来自分类Dev

指向常量数组的指针

来自分类Dev

指向链表的指针数组

来自分类Dev

指向数组的sizeof指针