Share via


vector-Klasse

Die STL-Vektorklasse ist eine Klassenvorlage, die Elemente eines bestimmten Typs in einer linearen Anordnung speichert und einen schnellen wahlfreien Zugriff auf ein beliebiges Element ermöglicht. Die Vektorklasse sollte der bevorzugte Container für eine Sequenz sein, wenn Leistung bei wahlfreiem Zugriff ein wichtiger Faktor ist. Wenn Sie nicht sicher sind, welche Art von Sequenzcontainer Sie verwenden sollen, verwenden Sie Vektor.

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

Parameter

  • Typ
    Der Typ des Elements, das im Vektor gespeichert werden soll.

  • Allocator
    Der Typ des Objekts, das Arbeitsspeicher für den Vektor zuweist und freigibt. Dieses Argument ist optional, und der Standardwert ist std::allocator*<Typ>.*

Hinweise

Vektoren ermöglichen konstante Zeiteinfügungen und -löschungen am Ende der Sequenz. Für das Einfügen oder Löschen von Elementen in der Mitte eines Vektors ist lineare Zeit erforderlich. Der Container der deque-Klasse ist in Bezug auf Einfügungen und Löschungen am Anfang und Ende einer Sequenz leistungsfähiger. Der Container der list-Klasse ist in Bezug auf Einfügungen und Löschungen an einer beliebigen Position innerhalb der Sequenz leistungsfähiger.

Eine Vektorneuzuordnung findet statt, wenn eine Memberfunktion die Anzahl der Elemente im Vektor über die aktuelle Speicherkapazität hinaus erhöhen muss. Andere Einfügungen und Löschungen können verschiedene Speicheradressen innerhalb der Sequenz ändern. In allen diesen Fällen werden Iteratoren oder Verweise auf geänderte Teile der Sequenz ungültig. Wenn keine Neuzuordnung stattfindet, bleiben nur Iteratoren und Verweise vor dem Einfüge-/Löschpunkt gültig.

Die vector<bool>-Klasse ist eine vollständige Spezialisierung des Klassenvorlagenvektors für Elemente vom Typ „bool“ mit einer Zuweisung für den zugrunde liegenden Typ, der von der Spezialisierung verwendet wird.

Die vector<bool> reference-Klasse ist eine geschachtelte Klasse, deren Objekte Verweise auf Elemente (einzelne Bits) in einem vector<bool>-Objekt bereitstellen können.

Mitglieder

Konstruktoren

Vektor

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

Typedefs

allocator_type

Der Typ der allocator, die vom Vektor verwendet wird.

const_iterator

Ein Typ, der einen schreibgeschützten Iterator mit wahlfreiem Zugriff darstellt.

const_pointer

Ein Typ, der einen schreibgeschützten Zeiger auf ein Element in einem Vektor darstellt.

const_reference

Ein Verweis auf ein const-Element, das in einem Vektor zum Lesen und Ausführen von const-Vorgängen gespeichert ist.

const_reverse_iterator

Ein schreibgeschützter umgekehrter Iterator.

difference_type

Ein Typ, der die Differenz zwischen den Adressen von zwei Elementen in einem Vektor darstellt.

Iterator

Ein Typ, der einen Iterator mit wahlfreiem Zugriff bereitstellt, mit dem jedes Element in einem Vektor gelesen oder geändert werden kann.

pointer

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

Verweis

Ein Typ, der einen Verweis auf ein Element in einem Vektor darstellt.

reverse_iterator

Ein Typ, der einen reverse_iterator darstellt.

size_type

Ein Typ, der die Anzahl von Elementen in einem Vektor darstellt.

value_type

Ein Typ, der den in einem Vektor gespeicherten Datentyp darstellt.

Memberfunktionen

assign

Ersetzt die angegebenen Elemente durch Kopien der neuen Elemente.

at

Gibt einen Verweis auf das Element an einer angegebenen Position im Vektor zurück und löst eine out_of_range-Ausnahme aus, wenn der Index kleiner als 0 oder größer gleich size() ist.

back

Gibt einen Verweis auf das letzte Element des Vektors zurück.

begin

Gibt einen Iterator mit wahlfreiem Zugriff für das erste Element im Vektor zurück.

Kapazität

Gibt die Anzahl von Elementen zurück, die der Vektor enthalten kann, ohne zusätzlichen Speicher zuzuweisen.

cbegin

Gibt einen const-Iterator mit wahlfreiem Zugriff für das erste Element im Vektor zurück.

cend

Gibt einen const-Iterator mit wahlfreiem Zugriff zurück, der auf ein Pastj am Ende des Vektors zeigt.

crbegin

Gibt einen const_reverse_iterator für das letzte Element in einem Vektor zurück.

crend

Gibt einen const_reverse_iterator zurück, der auf eine Stelle vor dem ersten Element im Vektor verweist.

clear

Löscht die Elemente des Vektors.

Daten

Gibt einen Zeiger auf das erste Element im Vektor zurück.

emplace

Fügt ein direkt konstruiertes Element an einer angegebenen Position in den Vektor ein.

emplace_back

Fügt ein direkt konstruiertes Element am Ende des Vektors ein.

empty

Testet, ob der Vektor Elemente enthält.

end

Gibt einen Iterator mit wahlfreiem Zugriff zurück, der auf eine Stelle hinter dem letzten Element im Vektor verweist.

Löschen

Entfernt ein Element oder eine Reihe von Elementen aus angegebenen Positionen in einem Vektor.

front

Gibt einen Verweis auf das erste Element in einem Vektor zurück.

get_allocator

Gibt den vom Vektor verwendeten allocator zurück.

Einfügen

Fügt ein Element oder eine Reihe von Elementen an einer angegebenen Position in den Vektor ein.

max_size

Gibt die Maximallänge des Vektors zurück.

pop_back

Löscht das Element am Ende des Vektors.

push_back

Fügt ein Element am Ende des Vektors hinzu.

rbegin

Gibt einen Iterator an das erste Element in einem umgekeherten Vektor zurück.

rend

Gibt einen reverse_iterator zurück, der auf eine Stelle vor dem ersten Element verweist.

reserve

Reserviert eine Mindestspeicherlänge für ein Vektorobjekt.

resize

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

shrink_to_fit

Verwirft Überkapazität.

size

Gibt die Anzahl von Elementen im Vektor zurück.

swap

Tauscht die Elemente zweier Vektoren aus.

Operatoren

operator[]

Gibt einen Verweis auf das Vektorelement an einer angegebenen Position zurück.

operator =

Ersetzt die Elemente des Vektors durch eine Kopie eines anderen Vektors.

Anforderungen

Header: <vector>

Namespace: std

Siehe auch

Referenz

Threadsicherheit in der C++-Standardbibliothek

Standardvorlagenbibliothek

Weitere Ressourcen

Vektor Member

<vector> Member