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

菲利普·麦克马伦

我仍然不熟悉 C++ 中的手动销毁(来自具有垃圾收集功能的语言)。我在我的一堂课中有以下内容:

Input** Inputs;

其初始化如下:

this->Inputs = new Input* [totalInputs];

并且可以根据用户输入在我的代码中稍后重新分配,类似于:

this->Inputs[inputNumber] = new DigitalInput(params...)

这样做的问题是,由于释放旧对象而在该位置重新分配对象时,可能会导致内存泄漏。

重新分配旧对象后,删除旧对象的最佳方法是什么?

编辑:我忘了说这是在 Arduino 代码库上运行的 AVR 微控制器上。

编辑 2:我这样做的原因是因为允许用户向将更改输入类型的单元发送命令(即:发送命令和this->Inputs[inputNumber] = new AnalogInput(params...)。也是指向指针数组的指针的原因是因为此对象的构造函数将根据totalInputs传入参数生成该数组。这是在几个不同单元上使用的共享库中。

安迪·托马斯

如果要重新分配数组成员以指向新对象,则可以先解除分配旧对象(如果有)。

Input* oldInput = this->Inputs[inputNumber];
delete oldInput;

this->Inputs[inputNumber] = new DigitalInput(params...)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

删除指向数组的指针

来自分类Dev

如何动态从向量中删除c ++中指向对象的指针?

来自分类Dev

如何动态从向量中删除c ++中指向对象的指针?

来自分类Dev

如何在C ++中删除指向数组的指针

来自分类Dev

从指针数组中删除对象

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何在 BaseClass 指针数组中存储指向 SubClass 对象的指针?

来自分类Dev

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

来自分类Dev

指向指针数组的指针

来自分类Dev

如何声明指向指针数组的指针

来自分类Dev

指向C中的int指针数组的指针

来自分类Dev

指向Pascal中的指针数组的指针

来自分类Dev

指向数组指针的双星指针;如何访问数组的指针?C ++

来自分类Dev

如何修改指针指向的数组

来自分类Dev

如何添加指向数组的指针?

来自分类Dev

如何删除包含指向结构的指针的列表的对象?

来自分类Dev

如何通过指向元组的共享指针删除对象

来自分类Dev

指向C中数组的指针

来自分类Dev

在unordered_map中删除指向对象的指针

来自分类Dev

当向量在内部类中时,如何删除指向对象的向量指针

来自分类Dev

如何在数组中存储指向数组的指针?

来自分类Dev

如何检查指针数组中是否设置了C ++对象指针

来自分类Dev

如何删除向量中存储的对象的指针?

Related 相关文章

热门标签

归档