Iteraatooor … Giv’me Innformationnn.

Donc, se donner un objet représentant “une position dans une séquence” sur lequel il soit possible de faire les opérations habituelles “avancer à l’élément suivant” ou “obtenir le contenu de l’élément actuel” comme si on avait affaire à un “bon vieux pointeur dans un tableau C”, c’était l’idée de std::{whatever}::iterator.

Si c’est sympa à la base (surtout pour ceux qui n’ont jamais fait de programmation fonctionnelle et pour qui les manipulations de listes à coup de grep ou map semblent occultes), en revanche, ça donne parfois des effets troublants dans la mesure où l’itérateur risque (s’il y a la moindre faille dans votre vigilance) de parcourir un objet qui n’existe plus.

Du moins, c’est l’explication la plus probable des fantaisies que j’observe dans mon éditeur d’animations.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.