Articles of iterator

Qu’est-ce que l’iterator-> deuxième signifie?

En C ++, quel est le type d’un std::map::iterator ? On sait qu’un object de type std::map::iterator a un operator -> surchargé operator -> qui retourne un std::pair* , et que le std::pair a un first et un second membre. Mais à quoi ces deux membres correspondent-ils et pourquoi devons-nous accéder à la valeur stockée […]

Différence entre Iterator et Listiterator?

Iterator ite = Set.iterator(); Iterator ite = List.iterator(); ListIterator listite = List.listIterator(); Nous pouvons utiliser Iterator pour parcourir un Set une List ou une Map . Mais ListIterator ne peut être utilisé que pour parcourir une List , il ne peut pas traverser un Set . Pourquoi? Je sais que la principale différence est qu’avec […]

Que se passe-t-il si vous appelez erase () sur un élément de carte en itérant du début à la fin?

Dans le code suivant, je parcours une carte et vérifie si un élément doit être effacé. Est-il sécuritaire d’effacer l’élément et de continuer à l’itérer ou dois-je collecter les clés dans un autre conteneur et faire une seconde boucle pour appeler l’effacement ()? map::iterator pm_it; for (pm_it = port_map.begin(); pm_it != port_map.end(); pm_it++) { if […]

Ruby: Comment itérer sur une plage, mais par incréments fixes?

Donc, je parcourt une plage comme celle-ci: (1..100).each do |n| # n = 1 # n = 2 # n = 3 # n = 4 # n = 5 end Mais ce que j’aimerais faire, c’est itérer par 10. Donc au lieu d’augmenter n de 1, le prochain n serait en fait 10, puis […]

Créer mes propres iterators

J’essaie d’apprendre le C ++, alors pardonnez-moi si cette question démontre un manque de connaissances de base, vous voyez, le fait est que je manque de connaissances de base. Je veux de l’aide pour trouver comment créer un iterator pour une classe que j’ai créée. J’ai une classe ‘Shape’ qui a un conteneur de points. […]

Quelle est la différence entre iterator et itérable et comment les utiliser?

Je suis nouveau en Java et je suis vraiment confus avec l’iterator et l’itérable. Quelqu’un peut-il m’expliquer et donner des exemples?

Pourquoi l’iterator de Java n’est-il pas itérable?

Pourquoi l’interface Iterator n’est-elle pas extensible? La méthode iterator() pourrait simplement renvoyer this . Est-ce intentionnel ou juste un oubli des concepteurs de Java? Il serait pratique de pouvoir utiliser une boucle for-each avec des iterators comme ceci: for(Object o : someContainer.listSomeObjects()) { …. } où listSomeObjects() renvoie un iterator.

Quelle est la raison derrière cbegin / cend?

Je me demande pourquoi cbegin et cend ont été introduits dans C ++ 11? Quels sont les cas où l’appel de ces méthodes fait une différence par rapport aux surcharges const du begin et de la end ?

Pourquoi utiliser des fonctions de début et de fin non membres dans C ++ 11?

Chaque conteneur standard dispose d’une méthode de begin et de end pour renvoyer les iterators pour ce conteneur. Cependant, C ++ 11 a apparemment introduit des fonctions libres appelées std::begin et std::end qui appellent les fonctions membres begin et end . Donc, au lieu d’écrire auto i = v.begin(); auto e = v.end(); tu écrirais […]

Pourquoi les plages d’iterators standard au lieu de ?

Pourquoi la norme définit-elle end() comme une au-delà de la fin, au lieu de la fin réelle?