Freigeben über


list-Klasse

STL-list-Klasse ist eine Vorlagenklasse von Sequenzcontainern, die ihre Elemente in einer linearen Anordnung verwalten und das effiziente Einfügen und Löschen an jeder Stelle innerhalb der Sequenz ermöglichen. Die Sequenz wird als bidirektionale verknüpfte Liste von Elementen gespeichert, die jeweils einen Member vom Typ Typ enthalten.

template <    class Type,     class Allocator=allocator<Type>  > class list

Parameter

  • Typ
    Der in der Liste zu speichernde Elementdatentyp.

  • Allocator
    Der Typ, der das gespeicherte Zuordnungsobjekt darstellt, das Details zum Belegen und Freigeben des Arbeitsspeichers der Liste kapselt. Dieses Argument ist optional, und der Standardwert ist allocator<Type>.

Hinweise

Die Auswahl des Containertyps sollte im Allgemeinen auf Grundlage des für die Anwendung erforderlichen Suchen und Einfügetyps erfolgen. Vektoren sollten der bevorzugte Container zum Verwalten einer Sequenz sein, wenn zufälliger Zugriff auf jedes Element unbedingt erforderlich und das Einfügen oder Löschen von Elementen nur am Ende einer Sequenz notwendig ist. Die Leistung des deque-Klassencontainers hat Vorrang, wenn zufälliger Zugriff erforderlich ist und Einfügungen und Löschungen sowohl am Anfang als auch am Ende einer Sequenz unbedingt notwendig sind.

Die Listen-Memberfunktionen merge, reverse, unique, remove uand remove_if wurden für die Verwendung mit Listenobjekten optimiert und bieten eine leistungsstarke Alternative zu ihren generischen Entsprechungen.

Die Neuzuordnung von Listen tritt auf, wenn Elemente der Liste von einer Memberfunktion eingefügt oder gelöscht werden müssen. In solchen Fällen werden nur Iteratoren oder Verweise auf gelöschte Teile der gesteuerten Sequenz ungültig.

Schließen Sie den STL Standardheader <list> ein, um die Container-Vorlageklassenliste und mehrere unterstützende Vorlagen zu definieren.

Konstruktoren

list

Erstellt eine Liste einer bestimmten Größe bzw. mit Elementen eines bestimmten Werts oder mit einem bestimmten allocator-Element oder als vollständige bzw. teilweise Kopie einer anderen Liste.

Typedefs

allocator_type

Ein Typ, mit dem die allocator-Klasse für ein Listenobjekt dargestellt wird.

const_iterator

Ein Typ, der einen bidirektionalen Iterator bereitstellt, mit dem ein const-Element in einer Liste gelesen werden kann.

const_pointer

Ein Typ, der einen Zeiger auf ein const-Element in einer Liste bereitstellt.

const_reference

Ein Typ, der einen Verweis auf ein const-Element bereitstellt, das in einer Liste zum Lesen und Ausführen von const-Vorgängen gespeichert ist.

const_reverse_iterator

Ein Typ, der einen bidirektionalen Iterator bereitstellt, mit dem jedes beliebige const-Element in einer Liste gelesen werden kann.

difference_type

Ein Typ, der den Unterschied zwischen zwei Iteratoren, die auf Elemente innerhalb derselben Liste verweisen, bereitstellt.

Iterator

Ein Typ, der einen bidirektionalen Iterator bereitstellt, mit dem jedes Element in einer Liste gelesen oder geändert werden kann.

pointer

Ein Typ, der einen Zeiger auf ein Element in einer Liste bereitstellt.

Verweis

Ein Typ, der einen Verweis auf ein const-Element bereitstellt, das in einer Liste zum Lesen und Ausführen von const-Vorgängen gespeichert ist.

reverse_iterator

Ein Typ, der einen bidirektionalen Iterator bereitstellt, mit dem ein Element in einer umgekehrten Liste gelesen oder geändert werden kann.

size_type

Ein Typ, der die Anzahl von Elementen in einer Liste zählt.

value_type

Ein Typ, der den in einer Liste gespeicherten Datentyp darstellt.

Memberfunktionen

assign

Löscht Elemente aus einer Liste und kopiert einen neuen Satz von Elementen in die Zielliste.

back

Gibt einen Verweis auf das letzte Element einer Liste zurück.

begin

Gibt einen Iterator zurück, der das erste Element in einer Liste adressiert.

list::cbegin

Gibt einen konstanten Iterator zurück, der das erste Element in einer Liste adressiert.

list::cend

Gibt einen konstanten Iterator zurück, der den Speicherort adressiert, der dem letzten Element einer Liste nachfolgt.

list::clear

Löscht alle Elemente einer Liste.

list::crbegin

Gibt einen konstanten Iterator zurück, der das erste Element in einer umgekehrten Liste adressiert.

list::crend

Gibt einen konstanten Iterator zurück, der den Speicherort adressiert, der dem letzten Element eines umgekehrten Listenelements nachfolgt.

list::emplace

Fügt ein direkt konstruiertes Element an einer angegebenen Position in die Liste ein.

list::emplace_back

Fügt ein direkt konstruiertes Element am Ende einer Liste ein.

list::emplace_front

Fügt ein direkt konstruiertes Element am Anfang einer Liste ein.

empty

Testet, ob eine Liste leer ist.

end

Gibt einen Iterator zurück, der den Speicherort adressiert, der dem letzten Element einer Liste nachfolgt.

Löschen

Entfernt ein Element oder eine Reihe von Elementen in einer Liste aus angegebenen Speicherorten.

front

Gibt einen Verweis auf das erste Element in einer Liste zurück.

get_allocator

Gibt eine Kopie des allocator-Objekts zurück, das zum Erstellen einer Liste verwendet wird.

Einfügen

Fügt ein Element oder mehrere Elemente oder ein Reihe von Elementen an einer bestimmten Position in die Liste ein.

max_size

Gibt die Maximallänge einer Liste zurück.

merge

Entfernt die Elemente aus der Argumentliste, fügt sie in die Zielliste ein und sortiert den neuen, kombinierten Elementsatz in aufsteigender Reihenfolge oder in einer anderen angegebenen Reihenfolge.

pop_back

Löscht das Element am Ende einer Liste.

pop_front

Löscht das Element am Anfang einer Liste.

push_back

Fügt am Ende einer Liste ein Element hinzu.

push_front

Fügt am Anfang einer Liste ein Element hinzu.

rbegin

Gibt einen Iterator zurück, der das erste Element in einer umgekehrten Liste adressiert.

remove

Löscht Elemente in einer Liste, die einen angegebenen Wert entsprechen.

remove_if

Löscht Elemente aus der Liste, für die ein angegebenes Prädikat erfüllt ist.

rend

Gibt einen Iterator zurück, der den Speicherort adressiert, der dem letzten Element einer umgekehrten Liste nachfolgt.

resize

Gibt eine neue Größe für eine Liste an.

reverse

Kehrt die Reihenfolge um, in der die Elemente in einer Liste auftreten.

size

Gibt die Anzahl von Elementen in einer Liste zurück.

sort

Ordnet die Elemente einer Liste in aufsteigender Reihenfolge oder in Bezug auf eine andere Reihenfolgebeziehung.

splice

Entfernt Elemente aus der Argumentliste und fügt sie in die Zielliste ein.

swap

Tauscht die Elemente zweier Listen aus.

unique

Entfernt benachbarte doppelte Elemente oder benachbarte Elemente, die einige andere binäre Prädikate aus der Liste erfüllen.

Operatoren

list::operator=

Ersetzt die Elemente der Liste mit einer Kopie einer anderen Liste.

Anforderungen

Header: <list>

Siehe auch

Referenz

<list>

Threadsicherheit in der C++-Standardbibliothek

Standardvorlagenbibliothek