首页 > 解决方案 > 从列表中删除指针的正确方法是什么(使用 Qt)

问题描述

假设我有一堂课MyClass

所以现在我有了这些结构

QList<MyClass*> mylist;
QHash<qint32,MyClass*> myhash;

所以我添加到它们,并且,在给定的点我想删除一个项目。

如果我这样做:

mylist.removeAt(i);
myhash.remove(key);

我猜这并没有正确释放内存(因为只有指针被删除)。

这样的事情会更正确吗:

MyClass *m = mylist.at(i);
delete m;
mylist.removeAt(i);

?

标签: c++qt

解决方案


推荐阅读