C++-Programmierung: Vector

Aus Wikibooks
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.