QMultiMap::const_iterator Class
class QMultiMap::const_iteratorLa classe QMultiMap::const_iterator fournit un itérateur constant de style STL pour QMultiMap. Plus d'informations...
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 |
Non-membres apparenté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 un QMultiMap. Si vous souhaitez modifier le QMultiMap lors de l'itération, vous devez utiliser QMultiMap::iterator à la place. Il est généralement conseillé d'utiliser QMultiMap::const_iterator sur un QMultiMap non-const également, à moins que vous n'ayez besoin de modifier le QMultiMap par le biais de 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 QMultiMap::const_iterator crée un itérateur non initialisé. Vous devez l'initialiser à l'aide d'une fonction QMultiMap comme QMultiMap::cbegin(), QMultiMap::cend() ou QMultiMap::constFind() avant de pouvoir commencer l'itération. Voici une boucle typique qui imprime 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 qui partagent la même clé apparaîtront consécutivement, de la valeur la plus récemment insérée à la moins récemment insérée.
Plusieurs itérateurs peuvent être utilisés sur la même carte multi. 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 qui pointent vers les éléments supprimés deviendront des itérateurs pendants.
Attention : Les itérateurs sur des conteneurs implicitement partagés ne fonctionnent pas exactement comme les itérateurs STL. Vous devez éviter de copier un conteneur lorsque des itérateurs sont actifs sur ce conteneur. Pour plus d'informations, lisez Implicit sharing iterator problem.
Voir aussi 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
const_iterator::const_iterator()
Construit un itérateur non initialisé.
Les fonctions telles que key(), value() et operator++() ne doivent pas être appelées sur un itérateur non initialisé. Utilisez operator=() 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)
Construit une copie de other.
const Key &const_iterator::key() const
Renvoie la clé de l'élément en cours.
Voir aussi value().
const T &const_iterator::value() const
Renvoie la valeur de l'élément en cours.
Voir aussi key() et operator*().
const T &const_iterator::operator*() const
Renvoie la valeur de l'élément courant.
Identique à value().
Voir aussi key().
QMultiMap<Key, T>::const_iterator &const_iterator::operator++()
L'opérateur préfixe ++ (++i) fait passer l'itérateur à l'élément suivant de la carte et renvoie un itérateur vers le nouvel élément courant.
L'appel de cette fonction sur QMultiMap::end() conduit à des résultats indéfinis.
Voir aussi operator--().
QMultiMap<Key, T>::const_iterator const_iterator::operator++(int)
L'opérateur postfixe ++ (i++) fait passer l'itérateur à l'élément suivant de la carte et renvoie un itérateur à l'élément courant précédent.
Il s'agit d'une fonction surchargée.
QMultiMap<Key, T>::const_iterator &const_iterator::operator--()
L'opérateur préfixe -- (--i) rend l'élément précédent courant et renvoie un itérateur pointant vers le nouvel élément courant.
L'appel de cette fonction sur QMultiMap::begin() conduit à des résultats indéfinis.
Voir aussi operator++().
QMultiMap<Key, T>::const_iterator const_iterator::operator--(int)
L'opérateur postfixe -- (i--) rend l'élément précédent courant et renvoie un itérateur pointant vers l'élément courant précédent.
Il s'agit d'une fonction surchargée.
const T *const_iterator::operator->() const
Renvoie un pointeur sur la valeur de l'élément en cours.
Voir également value().
Non-membres apparenté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 aussi operator==().
bool operator==(const QMultiMap<Key, T>::const_iterator &lhs, const QMultiMap<Key, T>::const_iterator &rhs)
Renvoie true si lhs pointe sur le même élément que l'itérateur rhs; sinon, renvoie false.
Voir aussi 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.