2. C++ Avancé




2.7. Itérateurs

Un itérateur est un objet qui peut traverser (itérer sur) un container en maintenant un pointeur sur l'élément courant.

On n'est donc pas obligé de parcourir le container depuis le début pour passer de l'élément $n$ à l'élément $n+1$

La STL définit des types d'itérateurs différents en fonction des algorithmes de traitement :

Il peut être vu comme un pointeur sur un élément d'un container et utilise des fonctions comme :

Chaque container possède 4 fonctions à utiliser avec les itérateurs :

Chaque container possède au moins 2 types d'itérateurs :

2.7.1. Utilisation

  1. #include <vector>
  2. #include <iterator>
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. int main() {
  7.     int tab[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
  8.     vector<int> v(&tab[0], &tab[9]);
  9.    
  10.     vector<int>::iterator it;
  11.     for (it = v.begin(); it != v.end(); ++it) {
  12.         cout << *it << " ";
  13.     }
  14.     cout << endl;
  15.    
  16.     return 0;
  17. }
  18.