c++ - 从列表中删除指针的正确方法是什么(使用 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);
?
解决方案
推荐阅读
- javascript - Image resize using JAVAScript returning empty image
- javascript - 如何在带有窗口的对象中创建新值
- android-studio - 新手机上未安装应用程序
- c# - Drag and Drop from Explorer not working for C# Winforms App
- r - R: object of type 'closure' is not subsettable (Rshiny problem)
- python - OpenCV copying a list of pixels from one image to another
- c# - Multitasking with windows service
- python - Python 决策逻辑和字典中的循环
- c# - 安全读取元素同时更改的 long[] 内容的最快方法
- amazon-web-services - AWS S3 基本使用情况报告 - 不包括最近的操作?