Eh, non... end est un itérateur qui donne sur... ce qui suit le dernier élément de la collection...
Begin() pointe bel et bien, quant à lui, sur le premier élément, mais, si tu arrives sur end(), c'est que tu as passé le dernier élément
(c'est la raison pour laquelle une boucle se fera sur for(it = collection.begn(); it!=collection.end();++it) )
Tu peux, pour certains type de collections, accéder aux éléments en "ordre inverse" (du dernier au premier) avec des "revert_iterator" grace aux fonctions rbegin() et rend()
Partager