Sollten wir vor oder nach erase
löschen. Mein Verständnis ist beides in Ordnung. Ist es richtig?Sollten wir vor oder nach dem Löschen für einen Zeiger im Vektor löschen?
Außerdem, werden wir in jedem Fall das Element nicht löschen wollen, während es gelöscht wird? Ich glaube es muss sein, sonst wird die erase
gerne die Verantwortung übernehmen.
std::vector<foo*> bar;
...
for (vector<foo*>::iterator itr = bar.begin(); itr != bar.end(); itr++)
{
delete (*itr); //before OR
bar.erase(itr);
delete (*itr); //after???
}
meinst du 'std :: vector' –
sellibitze
danke. korrigiert. – pierrotlefou
Ich glaube, Sie haben 'iter ++' auch, sonst Schleife wird nicht beendet. – Naveen