QMultiMap::const_iterator Class
class QMultiMap::const_iteratorLa classe ` QMultiMap::const_iterator ` fournit un itérateur `const` de type STL pour ` QMultiMap`. En savoir plus...
Types publics
Fonctions publiques
| 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 |
Éléments non-membres associés
| 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) |
Description détaillée
QMultiMap<Key, T>::const_iterator vous permet d’itérer sur une QMultiMap. Si vous souhaitez modifier l’ QMultiMap au fur et à mesure que vous l’itérez, vous devez utiliser QMultiMap::iterator à la place. Il est généralement recommandé d’utiliser également QMultiMap::const_iterator sur une QMultiMap non-const, sauf si vous devez modifier l’ QMultiMap via l’itérateur. Les itérateurs const sont légèrement plus rapides et peuvent améliorer la lisibilité du code.
Le constructeur par défaut de ` QMultiMap::const_iterator ` crée un itérateur non initialisé. Vous devez l’initialiser à l’aide d’une fonction ` QMultiMap ` telle que ` QMultiMap::cbegin()`, ` QMultiMap::cend()` ou ` QMultiMap::constFind()` avant de pouvoir commencer l’itération. Voici une boucle typique qui affiche toutes les paires (clé, valeur) stockées dans une carte :
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;Voici un exemple qui supprime tous les éléments dont la valeur est supérieure à 10 :
QMultiMap<QString, int>::const_iterator i = multimap.cbegin();
while (i != multimap.cend()) {
if (i.value() > 10)
i = multimap.erase(i);
else
++i;
}Contrairement à ` QMultiHash`, qui stocke ses éléments dans un ordre arbitraire, ` QMultiMap ` stocke ses éléments classés par clé. Les éléments partageant la même clé apparaîtront consécutivement, de la valeur la plus récemment insérée à la moins récente.
Plusieurs itérateurs peuvent être utilisés sur la même multi-map. Si vous ajoutez des éléments à la carte, les itérateurs existants resteront valides. Si vous supprimez des éléments de la carte, les itérateurs pointant vers les éléments supprimés deviendront des itérateurs « pendants ».
Avertissement : les itérateurs sur les conteneurs partagés implicitement ne fonctionnent pas exactement comme les itérateurs STL. Vous devez éviter de copier un conteneur tant que des itérateurs sont actifs sur ce conteneur. Pour plus d’informations, consultez la section « Problème d’itérateur avec partage implicite ».
Voir également QMultiMap::iterator, QMultiMap::key_iterator et QMultiMap::const_key_value_iterator.
Documentation sur les types de membres
[alias] const_iterator::iterator_category
Synonyme de std::bidirectional_iterator_tag indiquant que cet itérateur est un itérateur bidirectionnel.
Documentation des fonctions membres
[default] const_iterator::const_iterator()
Crée un itérateur non initialisé.
Les fonctions telles que key(), value() et l'opérateur++() ne doivent pas être appelées sur un itérateur non initialisé. Utilisez l'opérateur=() pour lui attribuer une valeur avant de l'utiliser.
Voir également QMultiMap::constBegin() et QMultiMap::constEnd().
const_iterator::const_iterator(const QMultiMap<Key, T>::iterator &other)
Crée une copie de other.
const Key &const_iterator::key() const
Renvoie la clé de l'élément courant.
Voir aussi value().
const T &const_iterator::value() const
Renvoie la valeur de l'élément actuel.
Voir également key() et operator*().
const T &const_iterator::operator*() const
Renvoie la valeur de l'élément actuel.
Equivalent à ` value()`.
Voir aussi ` key()`.
QMultiMap<Key, T>::const_iterator &const_iterator::operator++()
L'opérateur préfixe « ++ » (++i) fait avancer l'itérateur vers l'élément suivant de la carte et renvoie un itérateur pointant vers le nouvel élément courant.
L'appel de cette fonction sur ` QMultiMap::end()` conduit à des résultats indéfinis.
Voir également operator--().
QMultiMap<Key, T>::const_iterator const_iterator::operator++(int)
L'opérateur postfixe « ++ » (i++) fait avancer l'itérateur vers l'élément suivant de la carte et renvoie un itérateur vers l'élément précédemment sélectionné.
Il s'agit d'une fonction surchargée.
QMultiMap<Key, T>::const_iterator &const_iterator::operator--()
L'opérateur préfixe « -- » (--i) désigne l'élément précédent comme élément courant et renvoie un itérateur pointant vers ce nouvel élément courant.
L'appel de cette fonction sur QMultiMap::begin() conduit à des résultats indéfinis.
Voir également operator++().
QMultiMap<Key, T>::const_iterator const_iterator::operator--(int)
L'opérateur postfixe « -- » (i--) désigne l'élément précédent comme élément courant et renvoie un itérateur pointant vers l'élément qui était auparavant l'élément courant.
Il s'agit d'une fonction surchargée.
const T *const_iterator::operator->() const
Renvoie un pointeur vers la valeur de l'élément actuel.
Voir aussi value().
Éléments non membres associés
bool operator!=(const QMultiMap<Key, T>::const_iterator &lhs, const QMultiMap<Key, T>::const_iterator &rhs)
Renvoie ` true ` si ` lhs ` pointe vers un élément différent de l'itérateur ` rhs ` ; sinon, renvoie ` false`.
Voir également operator==().
bool operator==(const QMultiMap<Key, T>::const_iterator &lhs, const QMultiMap<Key, T>::const_iterator &rhs)
Renvoie ` true ` si ` lhs ` pointe vers le même élément que l'itérateur ` rhs ` ; sinon, renvoie ` false`.
Voir également 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.