0

我有一个QMap带键QString和带 myClass的。我查看了 Qt 文档并决定将值定义为指向myClass对象的指针。但是,我对如何设置remove键值和(运算符分配的指针对象)值的问题感到困惑?如果我使用 remove() 方法,在动态分配对象的内存释放方面是否安全?

这是一个很好的选择吗?

myClass *type = types.take("foo");
delete type;
4

1 回答 1

0

正如 Qt 文档所说的 QMap::take() 函数

从映射中移除带有键 key 的项目并返回与其关联的值。

这样您的代码将从映射中删除键并删除为 myClass 对象分配的内存。

于 2013-11-12T18:21:09.093 回答