【发布时间】:2012-07-19 07:10:26
【问题描述】:
我有一个QList,其中包含指向类类型为Model 的对象的指针。我想在使用后适当地删除这个QList。我知道 Qt 的哲学是避免 C 风格的内存管理。我怎么delete这个QList?
【问题讨论】:
标签: qt memory-management qlist
我有一个QList,其中包含指向类类型为Model 的对象的指针。我想在使用后适当地删除这个QList。我知道 Qt 的哲学是避免 C 风格的内存管理。我怎么delete这个QList?
【问题讨论】:
标签: qt memory-management qlist
你可以使用qDeleteAll:
qDeleteAll(lstMdls);
lstMdls.clear();
【讨论】:
从an earlier revision 可以看出,这是 OP 的做法:
QList<Model*>lstMdls;
get Data(lstMdls);
/*
* Do other things
*/
for(int i=0;i<lstMlds.size();i++)
{
delete lstMdls.first();
}
【讨论】: