ContainerType C; // Dowolny standardowy typ kontenera, np. std::list<sometype> ContainerType::iterator A = C.begin(); ContainerType::iterator Z = C.end(); while (A != Z) { ContainerType::value_type value = *A; std::cout << value << std::endl; ++A; }
Istnieje wiele rodzajów iteratorów o różnych zachowaniach, w tym: przesuwające się do przodu, wstecz oraz dwukierunkowe; iteratory o swobodnym dostępie; iteratory wejściowe i wyjściowe; wreszcie iteratory stałe, zabezpieczające kontener lub jego elementy przed modyfikacją. Nie każdy typ kontenera obsługuje każdy typ iteratora. Użytkownicy mogą tworzyć własne typy iteratorów przez dziedziczenie klas ze standardowego szablonu klasy std::iterator.
Bezpieczeństwo iteratorów jest zdefiniowane oddzielnie dla każdego z typów standardowych kontenerów, a w niektórych przypadkach iteratory dopuszczają dużą swobodę w modyfikowaniu kontenera podczas iteracji.
Java Od wersji 1.2 interfejs java.util.Iterator umożliwia iterowanie po kolekcjach. Każdy Iterator posiada metody next() i hasNext(), oraz opcjonalnie może implementować metodę remove(). Iteratory tworzone są metodą iterator() odpowiedniej klasy kolekcji.