6.4.4 Parcourir une std::list ou un std::vector : les itérateurs

Un itérateur est un outil qui permet de passer d'une perle à l'autre.

On peut déclarer un itérateur comme ceci :

1
2
3
4
5
//itérateur de list
std::list::iterator itList;

//itérateur de vector
std::vector::iterator itVector;

Par convention les noms des itérateurs sont it ou commencent par it.

Parcourir une list ou un vector est un peu différent de parcourir un tableau, quand on parcoure un tableau, on prend un entier (signé ou non signé) et on le fait aller de 0 à tailleDuTableau-1. Avec les itérateurs, c'est un peu différent, on on commence au début de la list ou du vector avec la fonction begin() et on parcoure la list ou le vector tant que l'itérateur est différent de la fin, donnée par la fonction en().

Le mieux est encore de voir un exemple :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <list>

using namespace std;

int main(int argc, char** argv){
	list<int> listeEntiers;
	listeEntiers.push_back(1);
	listeEntiers.push_back(2);
	listeEntiers.push_back(3);
	listeEntiers.push_back(4);
	
	for(list<int>::iterator it = listeEntiers.begin(); it != listeEntiers.end(); it++){
		cout << *it << endl;
	}
	return 0;
}

On compile :

g++ -Wall main.cpp -o test

On peut afficher la list :

./test 
1
2
3
4