T
Tobi86
Gast
Guten Morgen,
ich möchte ein Objekt nach Bedingungsprüfung aus einem Vector löschen und danach das Speicherloch schließen. Mein Wunschtraum-Code sieht wie folgt aus, damit ihr wisst, was ich meine:
Wenn ich aber mitten im Durchgang des Iterators ein Objekt lösche, gibt es wohl ein Problem mit einem Speicherloch. Wie kann ich dieses fehlerfrei schließen?
Vielen Dank vorab für Hinweise!
ich möchte ein Objekt nach Bedingungsprüfung aus einem Vector löschen und danach das Speicherloch schließen. Mein Wunschtraum-Code sieht wie folgt aus, damit ihr wisst, was ich meine:
Code:
//Vector erstellen, der eine Klasse beinhaltet
vector<Enemy> GegnerV;
//Vector befüllen
GegnerV.push_back(Enemy(blablablub));
//Alle Gegner auf Tod prüfen
for (i=GegnerV.begin();i<GegnerV.end();i++)
{
if ( i->current_hp <= 0)
{
cout << i->name << " ist tot.";
GegnerV.erase(i);
cout << " Und wird rausgeschmissen." << endl;
}
}
Vielen Dank vorab für Hinweise!