PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Qt] Element aus QValueVector löschen



deki
14-09-2003, 14:08
Hallo!

Bei meinem Programm verwende ich einen QValueVector, in dem Instanzen einer eigenen Klasse sind.
Ich muss aber auch aus dem Vector wieder Elemente löschen können.

Die Methode erase übernimmt wie bei dem Vector-Template der STL als Parameter nur einen Iterator auf das zu löschende Element.
Zur Verfügung habe ich allerdings nur den Index, wo sich das Element befindet (z.b. myVector[3]).

Kann ich das Element trotzdem irgendwie löschen, oder aus dem Index den Iterator gewinnen, um es dann zu entfernen?

Für Hilfe wäre ich sehr dankbar.

Viele Grüße
deki!

deki
14-09-2003, 17:25
Hab die Lösung gefunden:

myVector.erase(myVector.begin()+i)
i ist dabei die Position des zu löschenden Elements ;)

anda_skoa
15-09-2003, 18:27
Wenn du oft aus dem "Inneren" Elemente löscht und hinzufügst, dann ist oft eine Liste eine besser Datenstruktur.

Wenn es nur selten vorkommt und direkte Zugriffe sehr häufig sind, passt der Vector.

Ciao,
_