J'essaie de libérer de la mémoire après avoir utilisé QList, mais cela ne semble pas fonctionner correctement. Voici mon code:Qlist memory deallocation
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
Utilisation de la mémoire:
- CP1: 460k
- CP2: 19996k
- CP3: 19996k
- CP4: 16088k
Il ressemble à malgré la suppression des éléments et la suppression myList
encore une grande partie de la mémoire est utilisée. Je crois qu'il y a un moyen de le gérer mais je ne le trouve pas.
Merci d'avance pour toute aide.
Pawel
Jetez un oeil à http://stackoverflow.com/questions/2230618/dynamic-memory-in-qlist – Xorlev
merci, mais je dirais que je viens de faire ce qui est posté dans un des commentaires (par @Glen) – Moomin