Element in einem Vector löschen
-
könntest du das beispiel nochmal so gestalten das der user voher eine zahl eingeben muss und diese dann mit in dieser sache von erase verwaltet wird?? weil mir fällt das ein bissel schwer durch die sache mit den iteratoren durchzublicken
-
vector<int> Liste; Liste.Add(1); Liste.Add(2); Liste.Add(3); Liste.Add(4); Liste.Add(5); int iZahlDieGelöschtWerdenSoll = 3; // Zahl 3 aus vector löschen! vector<int>::iterator pos=find(Liste.begin(),Liste.end(),iZahlDieGelöschtWerdenSoll); Liste.erase(pos);
-
Firefighter schrieb:
könntest du das beispiel nochmal so gestalten das der user voher eine zahl eingeben muss und diese dann mit in dieser sache von erase verwaltet wird?? weil mir fällt das ein bissel schwer durch die sache mit den iteratoren durchzublicken
Sorry, wenn meine Beispiele ein wenig minimalistisch ausfallen, aber ganz wollte ich dir das Denken nicht abnehmen (und ich hatte gehofft, die Variablennamen wären aussagekräftig genug, um zu erkennen, daß z.B. 'zielwert' der Wert ist, den du suchen und löschen möchtest)
-
ok jetzt ist es klar...aber ma noch ne frage muss ich da nen ebstimmten header mit einbinden??
-
algorithm.h
-
BorisDieKlinge schrieb:
algorithm.h
Fast richtig - der heißt <algorithm> (C++ Standardheader haben keine Dateiendung)
-
jop ok super danke... und wie könnte ich es machen das ich den ganzen vektor lösche, soll ich da einfach ne schleife machen wo jedes einzelne element mit dem iterator zeug gelöscht wird ...oder geht es einfacher??
-
Du willst alle Elemente des vector's löschen (also einen komplett leeren vector)? Wenn ja, der schnellste Weg ist
vec.clear();
(dicht gefolgt vonvec.erase(vec.begin(),vec.end());
).
-
also wenn mein vector Liste heißt, kann ich einfach ohne irgendwelches vorgeplänkel hinschreiben
Liste.clear();
und der vector ist gelöscht?? also geleert??
-
Firefighter schrieb:
und der vector ist gelöscht?? also geleert??
Gelöscht (==weg/zerstört/vernichtet) nicht - das passiert erst, wenn du den Scope verlässt, in dem er angelegt wurde. Geleert (==nichts mehr drin) ja.
(sorry für die Spitzfindigkeiten ;))