我有一个QMap
,密钥为QString
,值为 myClass
。我查看了Qt文档并决定将value定义为myClass
对象的指针。但是,我对如何remove
密钥和(由 新 运算符分配的指针对象)值的问题感到困惑?如果我使用了remove()方法,那么在动态分配对象的内存释放方面是否安全?
这是一个不错的选择吗?
myClass *type = types.take("foo");
delete type;
答案 0 :(得分:0)
正如Qt文档所述,关于QMap :: take()函数
使用地图中的键键移除项目,并返回与其关联的值。
这样你的代码就会从地图中删除密钥并删除myClass对象的已分配内存。