list::erase (STL/CLR)
Entfernt Elemente an den angegebenen Positionen.
iterator erase(iterator where);
iterator erase(iterator first, iterator last);
Parameter
first
Starten des Bereichs, der gelöscht werden soll.last
Ende des Bereichs, der gelöscht werden soll.deinen
So löschende Element.
Hinweise
Die erste Memberfunktion entfernt das Element der kontrollierten Sequenz, die durch where dargestellt wird.Sie verwenden sie, um ein einzelnes Element zu entfernen.
Die zweite Memberfunktion entfernt die Elemente der kontrollierten Sequenz im Bereich [first,last).Sie verwenden sie, um keines oder zu entfernen zusammenhängendere Elemente.
Beide Memberfunktionen geben einen Iterator, der das erste Element festgelegt wird, das über alle Elemente entfernt wurden hinaus bleibt, oder list::end (STL/CLR)() zurück, wenn kein solches Element vorhanden ist.
Wenn diese Elemente gelöscht wird, ist die Anzahl von Kopien Element als Anzahl von Elementen zwischen dem Ende der Löschen und dem näheren Ende der Sequenz linear.(Wenn eine oder mehrere Elemente an jedem Ende der Sequenz löschen, treten keine Kopien Element) auf.
Beispiel
// cliext_list_erase.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// erase an element and reinspect
System::Console::WriteLine("erase(begin()) = {0}",
*c1.erase(c1.begin()));
// add elements and display " b c d e"
c1.push_back(L'd');
c1.push_back(L'e');
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// erase all but end
cliext::list<wchar_t>::iterator it = c1.end();
System::Console::WriteLine("erase(begin(), end()-1) = {0}",
*c1.erase(c1.begin(), --it));
System::Console::WriteLine("size() = {0}", c1.size());
return (0);
}
Anforderungen
Header: <cliext/Liste>
Namespace: cliext