Freigeben über


deque Class

(Standard Template Library, STL) Sequenz Containers Deque ordnet die Elemente eines bestimmten Typs in einer linearen Anordnung und wie Vektoren, schnelle wahlfreien Zugriff auf alle Element und effiziente Einfügung und Löschung auf der Rückseite des Containers ermöglichen.Allerdings unterstützt im Gegensatz zu einem Vektor, Deque-Klasse auch das effiziente einfügen und löschen auf der Vorderseite des Containers.

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

Parameter

  • Typ
    Der Datentyp für die Element in der Deque gespeichert werden.

  • Allocator
    Der Typ, der das gespeicherte Zuweisung-Objekt darstellt, das Informationen über die Zuweisung und Freigabe des Speichers der Deque kapselt.Dieses Argument ist optional, und der Standardwert ist Zuweisung <Type>.

Hinweise

Die Wahl von Containertyp sollte beruhen im Allgemeinen auf den Typ der Suche und Einfügen von der Anwendung benötigt.Vektoren sollte der bevorzugte Container für die Verwaltung einer Sequenz beim wahlfreien Zugriff auf jedes Element mit einem Aufschlag ist und Einfügungen oder Löschungen von Elementen nur sind am Ende einer Sequenz erforderlich.Die Leistung der Liste Container ist überlegen, wenn effiziente Einfügungen und Löschungen (in Konstante Zeit) an einer beliebigen Stelle innerhalb der Sequenz ist mit einem Aufschlag.Diese Operationen in der Reihenfolge erfordern Element kopiert und Zuordnungen, die proportional zur Anzahl der Elemente in der Sequenz (lineare Zeit).

Deque Neuzuordnung tritt auf, wenn eine Memberfunktion muss einfügen oder Löschen der Elemente der Sequenz:

  • Wenn ein Element in eine leere Sequenz eingefügt wird, oder wenn ein Element gelöscht werden, um eine leere Sequenz zu lassen, dann Iteratoren früher von zurückgegeben beginnen und End ungültig.

  • Wenn ein Element an die erste Position des Deque, dann alle Iteratoren, aber keine Referenzen eingefügt wird, benennen, die vorhandenen Elemente ungültig werden.

  • Wenn ein Element am Ende der deque eingefügt, ist End und alle Iteratoren, aber keine Verweise, die vorhandenen Elemente ungültig werden, festlegen.

  • Wenn ein Element am Anfang der Deque gelöscht wird, werden nur diese Iterator und Verweise auf das gelöschte Element ungültig.

  • Wenn das letzte Element wird am Ende der Deque nur diesem Iterator auf das letzte Element gelöscht, und Verweise auf das gelöschte Element ungültig.

Andernfalls ungültig einfügen oder Löschen eines Elements alle Iteratoren und Verweise.

22a9t119.collapse_all(de-de,VS.110).gifKonstruktoren

deque

Erstellt ein deque. mehrere Konstruktoren werden bereitgestellt, um den Inhalt des neuen einrichten deque auf verschiedene Arten: leer; mit einer angegebenen Anzahl von leeren Elementen geladen; Inhalt verschoben oder kopiert, von einem anderen deque; Inhalt durch Verwendung eines Iterators kopiert oder verschoben. und ein Element kopiert, in der deque_Count Mal.Einige der Konstruktoren ermöglichen das Verwenden einer benutzerdefinierten allocator , Elemente zu erstellen.

22a9t119.collapse_all(de-de,VS.110).gifTypedefs

allocator_type

Ein Typ, darstellt die allocator Klasse für die deque Objekt.

const_iterator

Ein Typ, der einen random-Access-Iterator ermöglicht zugreifen kann und Lesen von Elementen in der deque alsconst

const_pointer

Ein Typ, der einen Zeiger auf ein Element in einem deque als einconst.

const_reference

Ein Typ, der einen auf ein Element in Verweis einem deque zum Lesen und andere Operationen als eineconst.

const_reverse_iterator

Ein Typ, der einen random-Access-Iterator ermöglicht zugreifen kann und Lesen von Elementen in der deque als const.Die Deque ist in umgekehrter Reihenfolge angezeigt.Weitere Informationen finden Sie unter reverse_iterator Class

difference_type

Ein Typ, den Unterschied zwischen zwei random-Access-Iteratoren bereitstellt, die verweisen auf Elemente in der gleichen deque.

Iterator

Ein Typ, der einem random-Access-Iterator enthält lesen oder ändern ein Element in einem deque.

pointer

Ein Typ, der einen Zeiger auf ein Element in einem deque.

-Referenz

Ein Typ, der einen auf ein Element gespeichert werden Verweis, einem deque.

reverse_iterator

Ein Typ, der einem random-Access-Iterator enthält lesen oder ändern ein Element in einem deque.Die Deque ist in umgekehrter Reihenfolge angezeigt.

size_type

Ein Typ, die Anzahl der Elemente in zählt, einer deque.

value_type

Ein Typ, den gespeicherten Datentyp darstellt, ein deque.

22a9t119.collapse_all(de-de,VS.110).gifMember-Funktionen

assign

Löscht Elemente aus einer deque und eine neue Sequenz von Elementen zum Ziel kopiert deque.

at

Gibt einen Verweis auf das Element an einer angegebenen Position in der deque.

back

Gibt einen Verweis auf das letzte Element der deque.

begin

Gibt einen random-Access-Iterator Adressierung das erste Element in der deque.

deque::cbegin

Gibt einen const Iterator das erste Element in der deque.

deque::cend

Gibt ein random-Access const -Iterator, der unmittelbar hinter dem Ende der deque.

clear

Löscht alle Elemente einer deque.

deque::crbegin

Gibt einen const random-Access-Iterator das erste Element in einem deque in umgekehrter Reihenfolge angezeigt.

deque::crend

Gibt einen const random-Access-Iterator das erste Element in einem deque in umgekehrter Reihenfolge angezeigt.

deque::emplace

Fügt ein Element erstellt Stelle in der deque an der angegebenen Position.

deque::emplace_back

Fügt ein Element erstellt Stelle am Ende der deque.

deque::emplace_front

Fügt ein Element zu Beginn der deque.

empty

Gibt true Wenn die deque 0 Elemente enthält und false Wenn sie ein oder mehrere Elemente enthält.

end

Gibt einen random-Access-Iterator, zeigt nur hinter dem Ende der deque.

Löschen

Entfernt ein Element oder einen Bereich von Elementen in einem deque aus angegebenen Positionen.

front

Gibt einen Verweis auf das erste Element in einem deque.

get_allocator

Gibt eine Kopie der allocator Objekt, das zum Erstellen der deque.

Einfügen

Fügt ein Element, mehrere Elemente oder einen Bereich von Elementen in der deque an der angegebenen Position.

max_size

Gibt die maximale mögliche Länge der deque.

pop_back

Löscht das Element am Ende der deque.

pop_front

Löscht das Element am Anfang der der deque.

push_back

Fügt ein Element an das Ende der deque.

push_front

Fügt ein Element an den Anfang des der deque.

rbegin

Gibt einen random-Access-Iterator das erste Element in eine umgekehrte deque.

rend

Gibt einen random-Access-Iterator, zeigt nur hinter das letzte Element in eine umgekehrte deque.

resize

Gibt eine neue Größe für eine deque.

deque::shrink_to_fit

Verwirft überschüssige Kapazitäten.

size

Gibt die Anzahl der Elemente in der deque.

Swap

Tauscht die Elemente von zwei deques.

22a9t119.collapse_all(de-de,VS.110).gifOperatoren

operator[]

Gibt einen Verweis auf die deque Element an der angegebenen Position.

deque::operator=

Ersetzt die Elemente der deque mit einer Kopie eines anderen deque.

Anforderungen

Header: <deque>

Siehe auch

Referenz

Threadsicherheit in der C++-Standardbibliothek

Standardvorlagenbibliothek

Weitere Ressourcen

<deque> Member

Doppelschlange Klassenmember