Witam. Mam taką sobie listę, której elementy to wskaźniki do struktury:
QList<myStruct*> mstr;
Potem dodawanie nowego elementu odbywa się tak:
mstr.append(new myStruct);
mstr.last()->data = jakas_data;
Dodam, że to mam wszystko we własnej klasie, dziedziczącej po QObject.
Jak widać, zostały tworzone nowe zmienne dynamicznie, dlatego wypadałoby zwolnić pamięć (?).
Jak to zrobić z tej listy ?
Wpadłem na coś takiego, jednak nie jestem w stanie sprawdzić (na tym etapie tworzenia apki) czy to działa (kompiluje się bez błędów):
for(int i = 0; i < mstr.length(); i++)
{
delete mstr[i];
}
Jednak zastanawiam się, czy można takie elementy usunąć wbudowaną funkcją remove lub jedną z nich (remove all). Dokładniej rzecz biorąc, czy zostanie zwolniona poprawnie pamięć ?