Vector |
Top Previous Next |
Skripte > Klassen-Elemente und C++-Befehle > interpretierte C++-Anweisungen > Container > Vector
In der Containerklasse Vector wird eine Liste von Elementen verwaltet. Alle Elemente einer Liste haben den gleichen Datentyp. Es gibt jedoch verschiedene Vector-Typen, je nach Typ der enthaltenen Elemente. (Siehe obige Tabelle)
Syntax
vbool <bezeichner> vint <bezeichner> vuint <bezeichner> vchar <bezeichner> vstr <bezeichner> vnode <bezeichner>
Beschreibung
Die Reihe der Vector-Typen sind im exportierten Code typedefs der Klasse CTT_Vector< value_type >. CTT_Vector ist abgeleitet von std::vector< value_type >
Sämtliche Vector-Klassen verfügen über die gleichen Methoden. Dies sind
1. die nur lesenden Methoden der allgemeinen Cursor-Klasse
bool isValid() const bool hasCurrent() const bool empty() const unsigned int size() const bool gotoNext() bool gotoPrev() value_type value() const bool containsValue(const value_type& ) const bool findValue(const value_type& xValue) bool findNextValue(const value_type& xValue) bool findPrevValue(const value_type& xValue)
2.) getCursor() const
Mit dieser Methode wird die Verbindung eines externen Cursors mit dem Vector hergestellt.
Beispiel:
vint v; vint::cursor cr = v.getCursor();
cr zeigt nun auf das gleiche Datenelement wie der interne Cursor, kann aber unabhängig vom ersten neu positioniert werden.
3) Methoden, die den Inhalt des Vectors verändern
void reset()
Setzt den Cursor vor bzw. hinter die Liste der Elements des Vectors.
void clear()
entfernt alle Elemente und führt reset aller Cursor durch.
void push_back(const value_type& xValue)
fügt xValue als neues Element am Ende des Vectors an. Für alle Cursor wird reset durchgeführt.
void pop_back()
entfernt das letzte Element aus dem Vector. Für alle Cursor wird reset durchgeführt. Wenn der Vector leer ist, wird ein Fehler erzeugt. Zur Sicherheit sollte daher vor dem Aufruf von pop_back zunächst geprüft werden, ob der Vector Elemente enthält:
if(v.size()) v.pop_back();
bool remove()
löscht das aktuelle Element aus dem Vector und gibt bei Erfolg true zurück. Gibt es kein aktuelles Element oder tritt ein Fehler auf, wird false zurückgegeben. Für alle Cursor wird reset durchgeführt.
bool setValue(const value_type& xValue)
Setzt den Wert des aktuellen Elements als xValue und gibt bei Erfolg true zurück. Gibe es kein aktuelles Element oder tritt ein Fehler auf, so gibt die Funktione false zurück.
4) Direkter Zugriff auf die Elemente
value_type back()
liefert das letzte Element zurück. Wenn der Vector leer ist, wird ein Fehler erzeugt. Zur Sicherheit sollte daher vor dem Aufruf von back zunächst geprüft werden, ob der Vector Elemente enthält:
if(v.size()) value = v.back();
value_type front()
liefert das erste Element zurück. Wenn der Vector leer ist, wird ein Fehler erzeugt. Zur Sicherheit sollte daher vor dem Aufruf von front zunächst geprüft werden, ob der Vector Elemente enthält:
if(v.size()) value = v.front();
Index-operator
Auf die Elemente, die zuvor mit der push_back Methode in den Vektor eingefügt wurden, kann mittels ihres indexes direkt zugegriffen werden. Das erste Element hat den Index 0 und das letzte den Index size() -1. Wenn ein vstr namens v existiert, so kopiert
str s = v[0];
das erste Element in den String s und
v[0] = s;
kopiert den str s in das erste Element, falls es existiert. Wenn nicht zuvor ein Element mit der push_back Methode in den Vektor eingefügt wurde, erscheint eine Fehlermeldung.
|
Diese Seite gehört zur TextTransformer Dokumentation |
Home Inhalt English |