C++-Programmierung: Vector

Aus Wikibooks
Zur Navigation springen Zur Suche springen
Symbol opinion vote.svg
Alte Seite
Diese Seite gehört zum alten Teil des Buches und wird nicht mehr gewartet. Die Inhalte sollen in das neue Buch einfließen: C++-Programmierung/ Inhaltsverzeichnis.
Eine aktuelle Seite zum gleichen Thema ist unter C++-Programmierung/ Die STL verfügbar.

Vector


Ein Vector ist ein dynamisches Array. Vector haben anders als statische Arrays keine feste Größe, sondern passen sich der Anzahl der Elemente dynamisch an.

#include <vector>

int main()
{
    std::vector<int> v;
    int i;
    
    for (i=0; i<100; ++i) {
        v.push_back(i); // Fügt i ans Ende von v an.
        ++v[i]; // v[i] muss bereits existieren.
    }
}

Der Ausdruck std::vector<int> deklariert einen Vector, der mit Variablen vom Datentyp int umgehen kann. Da ein vector ein Template ist, steht zwischen < und > der Datentyp, der verwendet werden soll!

vector Funktionen mit Beschreibung


  • vector<T> v; Deklariert v als leeren vector, der Daten vom Typ T aufnimmt.
  • vector<T> v(n); Deklariert v als vector, der bereits n default-konstruierte Elemente vom Typ T enthält.
  • vector<T> v(n, val); Deklariert v als vector, der bereits n Elemente vom Typ T mit dem Wert val enthält.


  • v[n]; Repräsentiert das n. Element in v (ohne zu prüfen, dass n existiert).
  • v.at(n); Repräsentiert das n. Element in v (prüft, ob n im erlaubten Bereich liegt).
  • v.size(); Liefert die Anzahl aller Elemente in v.
  • v.capacity(); Liefert die Anzahl der Elemente die in v gespeichert werden können.
  • v.reserve(n); Setzt die Anzahl der Elemente von v auf n.
  • v.push_back(val); Fügt die Daten aus val ans Ende von v an.
  • v.pop_back(); Entfernt das letzte Element aus v.
  • v.front(); Liefert eine Referenze auf das erste Element in v.
  • v.back(); Liefert eine Referenze auf das letzte Element in v.
  • vcp = v; Erstellt vcp als eine Kopie von v.
  • v.clear(); Entfernt alle Elemente aus v; leert v.


  • v.begin(); Liefert einen iterator vom ersten Element in v
  • v.end(); Liefert einen iterator vom letzten Element in v (genaugenommen das Element nach dem letzten Element)
  • v.erase(i); Entfernt das Element i aus v.
  • v.insert(i, val); Fügt ein neues Element mit dem Wert val vor das Element i in v ein.