Containerklassenspeicher freigeben
-
Hallo.
weiß jemand wie man speicher der von einer containerklassse belegt wurde wieder freigeben kann?
clear() und erase(begin(), end()) löschen zwar alle elemente, der speicher aber bleibt blockiert (hat mir mein taskmanager erzählt).
hat wer nen plan? thx!
-
Dein Taskmanager weiß nicht, welche Speicherblöcke applikationsintern verwendet werden.
-
kuck mal in die c++ faq FAQ - C++
-
clear() und erase(begin(), end()) löschen zwar alle elemente, der speicher aber bleibt blockiert
Das gilt nur für std::vector und std::string.
Umgehen kannst du es so:vector<int> vec; // vec mit tausenden von ints zu müllen // vec auf minimale Größe (implementation defined) reduzieren vector<int>().swap(vec);