Re: std::list elemente lXschen mittendrin

Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

Autor: Alexander Holler (holler_at_ahsoftware.de)
Datum: 20. Aug 2002


Hallo,

--On Montag, August 19, 2002 19:30:34 +0200 Mark Seuffert
<captain_at_pirate.de> wrote:

> Hallo,
> ich bin gerade dabei alten C++ Code auf STL umzurüsten, vielleicht könnt
> ihr mir helfen?
>
> Ich habe das Problem, dass ich eine Liste durchgehen möchte und
> vereinzelne Element löschen. Nun, ich hab ein ungutes Gefühl ein Element
> zu löschen und dann den Iterator auf das nächste Element zu setzen mit:
>
> list.erase(it)
> it--
> it++

it=list.erase(it);

Aus der Doku:

The relative order of the other elements in the sequence is unchanged. The
return value is an iterator to the element immediately following the one
that was erased.

Und was noch wichtiger ist:

[3] Warning: there is no guarantee that a valid iterator on a is still
valid after an insertion or an erasure. In some cases iterators do remain
valid, and in other cases they do not. The details are different for each
sequence class.

Daher obiges benutzen, da das erase wieder einen gültigen iterator
zurückliefert.

Gruß,

Alexander


Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

Dieses Archiv wurde generiert von hypermail 2.1.4 : 20. Aug 2002 CEST