QMultiMap::const_iterator Class
class QMultiMap::const_iteratorDie Klasse „ QMultiMap::const_iterator “ stellt einen const-Iterator im STL-Stil für „ QMultiMap “ bereit. Mehr...
Öffentliche Typen
Öffentliche Funktionen
| const_iterator() | |
| const_iterator(const QMultiMap<Key, T>::iterator &other) | |
| const Key & | key() const |
| const T & | value() const |
| const T & | operator*() const |
| QMultiMap<Key, T>::const_iterator & | operator++() |
| QMultiMap<Key, T>::const_iterator | operator++(int) |
| QMultiMap<Key, T>::const_iterator & | operator--() |
| QMultiMap<Key, T>::const_iterator | operator--(int) |
| const T * | operator->() const |
Verwandte Nicht-Mitglieder
| bool | operator!=(const QMultiMap<Key, T>::const_iterator &lhs, const QMultiMap<Key, T>::const_iterator &rhs) |
| bool | operator==(const QMultiMap<Key, T>::const_iterator &lhs, const QMultiMap<Key, T>::const_iterator &rhs) |
Ausführliche Beschreibung
QMultiMapMit <Key, T>::const_iterator können Sie eine Iteration über eine „ QMultiMap “ durchführen. Wenn Sie die „ QMultiMap “ während der Iteration ändern möchten, müssen Sie stattdessen „ QMultiMap::iterator “ verwenden. Es empfiehlt sich generell, „ QMultiMap::const_iterator “ auch für einen nicht-konstanten „ QMultiMap “ zu verwenden, es sei denn, Sie müssen die „ QMultiMap “ über den Iterator ändern. Konstante Iteratoren sind etwas schneller und können die Lesbarkeit des Codes verbessern.
Der Standardkonstruktor von ` QMultiMap::const_iterator ` erstellt einen nicht initialisierten Iterator. Sie müssen ihn mit einer ` QMultiMap `-Funktion wie ` QMultiMap::cbegin()`, ` QMultiMap::cend()` oder ` QMultiMap::constFind()` initialisieren, bevor Sie mit der Iteration beginnen können. Hier ist eine typische Schleife, die alle in einem Map gespeicherten (Schlüssel, Wert)-Paare ausgibt:
QMultiMap<QString, int> multimap;
multimap.insert("January", 1);
multimap.insert("February", 2);
//...
multimap.insert("December", 12);
for (auto i = multimap.cbegin(), end = multimap.cend(); i != end; ++i)
cout << qPrintable(i.key()) << ": " << i.value() << endl;Hier ist ein Beispiel, das alle Elemente entfernt, deren Wert größer als 10 ist:
QMultiMap<QString, int>::const_iterator i = multimap.cbegin();
while (i != multimap.cend()) {
if (i.value() > 10)
i = multimap.erase(i);
else
++i;
}Im Gegensatz zu „ QMultiHash “, das seine Elemente in beliebiger Reihenfolge speichert, speichert „ QMultiMap “ seine Elemente nach Schlüssel sortiert. Elemente mit demselben Schlüssel werden nacheinander angezeigt, beginnend mit dem zuletzt eingefügten Wert bis hin zum am längsten zurückliegenden.
Für dieselbe Multi-Map können mehrere Iteratoren verwendet werden. Wenn Sie Elemente zur Map hinzufügen, bleiben bestehende Iteratoren gültig. Wenn Sie Elemente aus der Map entfernen, werden Iteratoren, die auf die entfernten Elemente verweisen, zu „dangling 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. Weitere Informationen finden Sie unter „Problem mit Iteratoren bei impliziter gemeinsamen Nutzung“.
Siehe auch „ QMultiMap::iterator “, „ QMultiMap::key_iterator “ und „ QMultiMap::const_key_value_iterator “.
Dokumentation zu Mitgliedstypen
[alias] const_iterator::iterator_category
Ein Synonym für „std::bidirectional_iterator_tag“, das angibt, dass es sich bei diesem Iterator um einen bidirektionalen Iterator handelt.
Dokumentation zu den Mitgliedsfunktionen
[default] const_iterator::const_iterator()
Erstellt einen nicht initialisierten Iterator.
Funktionen wie ` key()`, ` value()` und der Operator `++()` dürfen nicht auf einen nicht initialisierten Iterator angewendet werden. Verwenden Sie den Operator `=()`, um ihm vor der Verwendung einen Wert zuzuweisen.
Siehe auch ` QMultiMap::constBegin()` und ` QMultiMap::constEnd()`.
const_iterator::const_iterator(const QMultiMap<Key, T>::iterator &other)
Erstellt eine Kopie von „ other “.
const Key &const_iterator::key() const
Gibt den Schlüssel des aktuellen Elements zurück.
Siehe auch ` value()`.
const T &const_iterator::value() const
Gibt den Wert des aktuellen Elements zurück.
Siehe auch „ key()“ und „ operator*()“.
const T &const_iterator::operator*() const
Gibt den Wert des aktuellen Elements zurück.
Entspricht der Funktion „ value()“.
Siehe auch ` key()`.
QMultiMap<Key, T>::const_iterator &const_iterator::operator++()
Der Präfixoperator „ ++ “ (++i) springt mit dem Iterator zum nächsten Element in der Map und gibt einen Iterator auf das neue aktuelle Element zurück.
Der Aufruf dieser Funktion auf ` QMultiMap::end()` führt zu undefinierten Ergebnissen.
Siehe auch operator--().
QMultiMap<Key, T>::const_iterator const_iterator::operator++(int)
Der Postfix-Operator „ ++ “ (i++) springt mit dem Iterator zum nächsten Element in der Map und gibt einen Iterator auf das zuvor aktuelle Element zurück.
Dies ist eine überladene Funktion.
QMultiMap<Key, T>::const_iterator &const_iterator::operator--()
Der Präfixoperator „ -- “ (--i) macht das vorangehende Element zum aktuellen Element und gibt einen Iterator zurück, der auf das neue aktuelle Element verweist.
Der Aufruf dieser Funktion auf ` QMultiMap::begin()` führt zu undefinierten Ergebnissen.
Siehe auch ` operator++()`.
QMultiMap<Key, T>::const_iterator const_iterator::operator--(int)
Der Postfix-Operator „ -- “ (i--) macht das vorangehende Element zum aktuellen Element und gibt einen Iterator zurück, der auf das zuvor aktuelle Element verweist.
Dies ist eine überladene Funktion.
const T *const_iterator::operator->() const
Gibt einen Zeiger auf den Wert des aktuellen Elements zurück.
Siehe auch „ value()“.
Verwandte Nicht-Mitglieder
bool operator!=(const QMultiMap<Key, T>::const_iterator &lhs, const QMultiMap<Key, T>::const_iterator &rhs)
Gibt „ true “ zurück, wenn „ lhs “ auf ein anderes Element verweist als der Iterator „ rhs “; andernfalls wird „ false “ zurückgegeben.
Siehe auch operator==().
bool operator==(const QMultiMap<Key, T>::const_iterator &lhs, const QMultiMap<Key, T>::const_iterator &rhs)
Gibt „ true “ zurück, wenn „ lhs “ auf dasselbe Element verweist wie der Iterator „ rhs “; andernfalls wird „ false “ zurückgegeben.
Siehe auch operator!=().
© 2026 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.