Les itérateurs


Comme le disent si bien tous les gens, les itérateurs sont une généralisation des pointeurs. Leur nom est bien explicite: ils permettent de parcourir les différents types de séquences.

Ils constit Ils constituent un rôle essentiel dans l'utilisation de la STL, car ils permettent de faire fonctionner n'importe quel algorithme avec n'importe quel type de conteneur, et donc de bien séparer ces deux notions ( l'itérateur sera en général donné en paramêtre d'un algorithme ).


Une particularité que l'on peut noter de suite: chaque type de séquence permet d'accèder à deux itérateurs spéciaux:

- l 'itérateur first, qui pointe sur le premier élément ( i1 sur le schéma )
- l'itérateur last, qui pointe APRES le dernier élément ( i2 sur le schéma )


5 types d'itérateurs sont implémentés dans la STL, en fonction des besoins que l'on a:

- input iterator, qui permet de lire un él&ealire un élément
- output iterator, qui permet d'écrire un élément
- forward iterator, qui permet de parcourir les éléments en avancant
- bidirectional iterator, qui permet de parcourir les éléments dans les deux sens
- random access iterator, qui permet de parcourir les éléments de façon aléatoire


Un petit dessin éclaire plus que beaucoup d'explications.
Voici la hierarchie des itérateurs, à savoir que le père est capable de faire ce que font ses fils! :



Je crois qu'il n'y a pas grand chose de plus à dire. Reste juste à voir comment ça marche au travers des exemples

 

<< Précédent
Index
suivant >>