const_iterator Class
class QLinkedList::const_iteratorDie Klasse QLinkedList::const_iterator bietet einen STL-ähnlichen Konst-Iterator für QLinkedList. Mehr...
Öffentliche Funktionen
const_iterator() | |
const_iterator(QLinkedList<T>::iterator other) | |
bool | operator!=(const QLinkedList<T>::const_iterator &other) const |
const T & | operator*() const |
QLinkedList<T>::const_iterator | operator+(int j) const |
QLinkedList<T>::const_iterator & | operator++() |
QLinkedList<T>::const_iterator | operator++(int) |
QLinkedList<T>::const_iterator & | operator+=(int j) |
QLinkedList<T>::const_iterator | operator-(int j) const |
QLinkedList<T>::const_iterator & | operator--() |
QLinkedList<T>::const_iterator | operator--(int) |
QLinkedList<T>::const_iterator & | operator-=(int j) |
const T * | operator->() const |
bool | operator==(const QLinkedList<T>::const_iterator &other) const |
Detaillierte Beschreibung
QLinkedList bietet sowohl Iteratoren im STL-Stil als auch Iteratoren im Java-Stil. Die Iteratoren im STL-Stil sind einfacher und umständlicher zu benutzen; andererseits sind sie etwas schneller und haben für Entwickler, die STL bereits kennen, den Vorteil der Vertrautheit.
QLinkedList<T>::const_iterator erlaubt es, über ein QLinkedList<T> zu iterieren. Wenn Sie QLinkedList bei der Iteration verändern wollen, müssen Sie stattdessen QLinkedList::iterator verwenden. Es ist im Allgemeinen eine gute Praxis, QLinkedList::const_iterator auch für eine nicht-konstante QLinkedList zu verwenden, es sei denn, Sie müssen die QLinkedList durch den Iterator ändern. Konstante Iteratoren sind etwas schneller und können die Lesbarkeit des Codes verbessern.
Der Standard-Konstruktor QLinkedList::const_iterator erzeugt einen nicht initialisierten Iterator. Sie müssen ihn mit einer Funktion wie QLinkedList::constBegin(), QLinkedList::constEnd() oder QLinkedList::insert() initialisieren, bevor Sie mit der Iteration beginnen können. Hier ist eine typische Schleife, die alle in einer Liste gespeicherten Elemente ausgibt:
QLinkedList<QString> list; list.append("January"); list.append("February"); ... list.append("December"); QLinkedList<QString>::const_iterator i; for (i = list.constBegin(); i != list.constEnd(); ++i) cout << *i << Qt::endl;
STL-artige Iteratoren können als Argumente für generic algorithms verwendet werden. So können Sie zum Beispiel ein Element in der Liste finden:
QLinkedList<QString> list; ... QLinkedList<QString>::const_iterator it = std::find(list.constBegin(), list.constEnd(), "Joel"); if (it != list.constEnd()) cout << "Found Joel" << Qt::endl;
Mehrere Iteratoren können für dieselbe Liste verwendet werden. Wenn Sie der Liste Elemente hinzufügen, bleiben die vorhandenen Iteratoren gültig. Wenn Sie Elemente aus der Liste entfernen, werden Iteratoren, die auf die entfernten Elemente verweisen, zu hängenden Iteratoren.
Warnung: Iteratoren auf implizit gemeinsam genutzten Containern funktionieren nicht genau wie STL-Iteratoren. Sie sollten es vermeiden, einen Container zu kopieren, während Iteratoren auf diesem Container aktiv sind. Für weitere Informationen lesen Sie Implizite gemeinsame Nutzung Iterator Problem.
Siehe auch QLinkedList::iterator und QLinkedListIterator.
Dokumentation der Mitgliedsfunktionen
const_iterator::const_iterator()
Konstruiert einen uninitialisierten Iterator.
Funktionen wie operator*() und operator++() sollten nicht mit einem nicht initialisierten Iterator aufgerufen werden. Verwenden Sie operator=(), um ihm einen Wert zuzuweisen, bevor Sie ihn verwenden.
Siehe auch QLinkedList::constBegin() und QLinkedList::constEnd().
const_iterator::const_iterator(QLinkedList<T>::iterator other)
Konstruiert eine Kopie von other.
bool const_iterator::operator!=(const QLinkedList<T>::const_iterator &other) const
Gibt true
zurück, wenn other auf ein anderes Element als diesen Iterator zeigt; andernfalls wird false
zurückgegeben.
Siehe auch operator==().
const T &const_iterator::operator*() const
Gibt einen Verweis auf das aktuelle Element zurück.
Siehe auch operator->().
QLinkedList<T>::const_iterator const_iterator::operator+(int j) const
Gibt einen Iterator zu dem Element an j Positionen vor diesem Iterator zurück. (Wenn j negativ ist, geht der Iterator rückwärts.)
Dieser Vorgang kann bei großen j Werten langsam sein.
Siehe auch operator-().
QLinkedList<T>::const_iterator &const_iterator::operator++()
Der Präfix-Operator ++ (++it
) setzt den Iterator auf das nächste Element in der Liste und gibt einen Iterator auf das neue aktuelle Element zurück.
Der Aufruf dieser Funktion auf QLinkedList<T>::constEnd() führt zu undefinierten Ergebnissen.
Siehe auch operator--().
QLinkedList<T>::const_iterator const_iterator::operator++(int)
Dies ist eine überladene Funktion.
Der Postfix-Operator ++ (it++
) setzt den Iterator auf das nächste Element in der Liste und gibt einen Iterator auf das zuvor aktuelle Element zurück.
QLinkedList<T>::const_iterator &const_iterator::operator+=(int j)
Bringt den Iterator um j Elemente weiter. (Wenn j negativ ist, geht der Iterator rückwärts.)
Dieser Vorgang kann bei großen j Werten langsam sein.
Siehe auch operator-=() und operator+().
QLinkedList<T>::const_iterator const_iterator::operator-(int j) const
Diese Funktion gibt einen Iterator zu dem Element an j Positionen rückwärts von diesem Iterator zurück. (Wenn j negativ ist, geht der Iterator vorwärts.)
Dieser Vorgang kann bei großen j Werten langsam sein.
Siehe auch operator+().
QLinkedList<T>::const_iterator &const_iterator::operator--()
Der Präfix-Operator (--it
) macht das vorhergehende Element aktuell und gibt einen Iterator zum neuen aktuellen Element zurück.
Der Aufruf dieser Funktion auf QLinkedList::begin() führt zu undefinierten Ergebnissen.
Siehe auch operator++().
QLinkedList<T>::const_iterator const_iterator::operator--(int)
Dies ist eine überladene Funktion.
Der Postfix-Operator (it--
) macht das vorangehende Element aktuell und gibt einen Iterator zum zuvor aktuellen Element zurück.
QLinkedList<T>::const_iterator &const_iterator::operator-=(int j)
Bringt den Iterator dazu, um j Elemente zurück zu gehen. (Wenn j negativ ist, geht der Iterator vorwärts.)
Dieser Vorgang kann bei großen j Werten langsam sein.
Siehe auch operator+=() und operator-().
const T *const_iterator::operator->() const
Gibt einen Zeiger auf das aktuelle Element zurück.
Siehe auch operator*().
bool const_iterator::operator==(const QLinkedList<T>::const_iterator &other) const
Gibt true
zurück, wenn other auf dasselbe Element wie dieser Iterator zeigt; andernfalls wird false
zurückgegeben.
Siehe auch operator!=().
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.