【发布时间】:2011-01-17 11:48:49
【问题描述】:
我在使用 QList 后尝试释放内存,但它似乎无法正常工作。 这是我的代码:
QList<double> * myList;
myList = new QList<double>;
double myNumber;
cout << "CP1" << endl;
getchar(); // checkpoint 1
for (int i=0; i<1000000; i++)
{
myNumber = i;
myList->append(myNumber);
cout << myList->size() << endl;
}
cout << "CP2!" << endl;
getchar(); // checkpoint 2
for (int i=999999; i>0; i--)
{
myList->removeLast();
cout << myList->size() << endl;
}
cout << "CP3!" << endl;
getchar(); // checkpoint 3
delete myList;
cout << "CP4!" << endl;
getchar(); // checkpoint 4
内存使用情况:
- CP1:460k
- CP2:19996k
- CP3:19996k
- CP4:16088k
所以看起来尽管删除了元素并删除了myList,但仍然使用了大部分内存。我相信有办法处理它,但我找不到它。
提前感谢您的帮助。
帕维尔
【问题讨论】:
-
谢谢,但我好像刚刚完成了其中一个 cmets 中发布的内容(@Glen)
标签: qt qt4 dynamic-memory-allocation qlist memory-management