QMap::const_iterator Class
class QMap::const_iteratorLa classe ` QMap::const_iterator ` fournit un itérateur `const` de type STL pour ` QMap`. En savoir plus...
Types publics
Fonctions publiques
| const_iterator() | |
| const_iterator(const QMap<Key, T>::iterator &other) | |
| const Key & | key() const |
| const T & | value() const |
| const T & | operator*() const |
| QMap<Key, T>::const_iterator & | operator++() |
| QMap<Key, T>::const_iterator | operator++(int) |
| QMap<Key, T>::const_iterator & | operator--() |
| QMap<Key, T>::const_iterator | operator--(int) |
| const T * | operator->() const |
Éléments non-membres associés
| bool | operator!=(const QMap<Key, T>::const_iterator &lhs, const QMap<Key, T>::const_iterator &rhs) |
| bool | operator==(const QMap<Key, T>::const_iterator &lhs, const QMap<Key, T>::const_iterator &rhs) |
Description détaillée
QMap<Key, T>::const_iterator vous permet de parcourir une QMap. Si vous souhaitez modifier l’ QMap au fur et à mesure que vous la parcourez, vous devez utiliser QMap::iterator à la place. Il est généralement recommandé d’utiliser également QMap::const_iterator sur une QMap non-const, sauf si vous devez modifier l’ QMap 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 ` QMap::const_iterator ` crée un itérateur non initialisé. Vous devez l’initialiser à l’aide d’une fonction ` QMap ` telle que ` QMap::cbegin()`, ` QMap::cend()` ou ` QMap::constFind()` avant de pouvoir commencer l’itération. Voici une boucle typique qui affiche toutes les paires (clé, valeur) stockées dans une carte :
QMap<QString, int> map;
map.insert("January", 1);
map.insert("February", 2);
//...
map.insert("December", 12);
for (auto i = map.cbegin(), end = map.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 :
QMap<QString, int>::const_iterator i = map.cbegin();
while (i != map.cend()) {
if (i.value() > 10)
i = map.erase(i);
else
++i;
}Et voici le même comportement avec ` erase_if()`
Contrairement à ` QHash`, qui stocke ses éléments dans un ordre arbitraire, ` QMap ` stocke ses éléments classés par clé.
Plusieurs itérateurs peuvent être utilisés sur la même carte. 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 des 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 QMap::iterator, QMap::key_iterator et QMap::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 QMap::constBegin() et QMap::constEnd().
const_iterator::const_iterator(const QMap<Key, T>::iterator &other)
Crée une copie de other.
const Key &const_iterator::key() const
Renvoie la clé de l'élément actuel.
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.
Identique à value().
Voir aussi key().
QMap<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 vers le nouvel élément courant.
L'appel de cette fonction sur ` QMap::end()` conduit à des résultats indéfinis.
Voir également ` operator--()`.
QMap<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 qui était précédemment sélectionné.
Il s'agit d'une fonction surchargée.
QMap<Key, T>::const_iterator &const_iterator::operator--()
L'opérateur préfixe « -- » (--i) définit 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 ` QMap::begin()` donne lieu à des résultats indéfinis.
Voir également operator++().
QMap<Key, T>::const_iterator const_iterator::operator--(int)
L'opérateur postfixe « -- » (i--) désigne l'élément précédent comme élément actuel et renvoie un itérateur pointant vers l'élément qui était auparavant l'élément actuel.
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 QMap<Key, T>::const_iterator &lhs, const QMap<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 QMap<Key, T>::const_iterator &lhs, const QMap<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.