Hallo leute, ich hab folgendes Problem
Ich lege mehrere Objekte an, deren zeiger ich dann in einem Vector abspeichere.
Nun möchte ich einige oder alle Objekte wieder löschen und möchte nun den Speicher wieder frei haben, aber kreige das nicht hin.
hier mein Code
usw..
so nun habe ich also einen vector mit Zeigern auf Blob. Ich kann wunderbar darauf zugreifen mit bspw.
wie kann ich jetzt das Objekt löschen, dass alle Werte weg sind und vor allem der Speicher wieder frei wird. Ich habe nämlich ca 1 Mio Blobs, von denen ich dann ein paar rausfilter. die anderen brauch ich nicht und sollen deshalb gelöscht werden.
Ich habe scho versucht mit
der Wert ist dann zwar anschließend weg bzw es steht
-2.6569842580370804e+303 bei der Variablen, aber der Speicher wird nicht weniger. Ich muss es also irgendwie hinbekommen, mittels des Zeigers auf den Blob, der ja in dem Vector enthalten ist, das Teil zu löschen.
Könnt ihr mir helfen?
Grüße und danke schon mal
Ich lege mehrere Objekte an, deren zeiger ich dann in einem Vector abspeichere.
Nun möchte ich einige oder alle Objekte wieder löschen und möchte nun den Speicher wieder frei haben, aber kreige das nicht hin.
hier mein Code
Code:
//vector, der zeiger auf Blob-Objekte enthält
//Blob ist eine Klasse, welche einige double Werte enthält
std::vector<Blob*> alle blobs;
//Anlegen eines Blobs
Blob * actual_Blob = new Blob()
//Einen Wert zuweisen
actual_Blob->area=6;
//Zeiger auf Blob in Vector schreiben
alle_blobs.push_back(actual_blob);
// Neus Blob Objekt anlegen
actual_Blob = new Blob();
usw..
so nun habe ich also einen vector mit Zeigern auf Blob. Ich kann wunderbar darauf zugreifen mit bspw.
Code:
alle_blobs[0]->area;
wie kann ich jetzt das Objekt löschen, dass alle Werte weg sind und vor allem der Speicher wieder frei wird. Ich habe nämlich ca 1 Mio Blobs, von denen ich dann ein paar rausfilter. die anderen brauch ich nicht und sollen deshalb gelöscht werden.
Ich habe scho versucht mit
Code:
for( int i = 0; i < numBlobs; i++ ){
delete (Blob*) alle_blobs[i];
}
-2.6569842580370804e+303 bei der Variablen, aber der Speicher wird nicht weniger. Ich muss es also irgendwie hinbekommen, mittels des Zeigers auf den Blob, der ja in dem Vector enthalten ist, das Teil zu löschen.
Könnt ihr mir helfen?
Grüße und danke schon mal