Colecciones
“Cosas que guardan cosas”.
-
Arreglos
-
Secuencias
-
Conjuntos
-
Multiconjuntos
-
Diccionarios
-
...
Cada tipo de dato tiene una interfaz distinta.
Motivación
- Queremos encontrar una interfaz uniforme para colecciones
- Necesidad de recorrer colecciones eficientemente.
Iteradores
Un iterador es una manera abstracta de recorrer colecciones, independientemente de su estructura.
Operaciones con iteradores
- Saber si está apuntando a un elemento válido de la colección.
- Obtener el elemento actual.
- Avanzar al siguiente elemento.
- Opcionales:
- Iteradores bidireccionales: retroceder al elemento enterior.
- Iteradores mutables: modificar el valor del elemento actual.
Iteradores en C++
Tipos
Si T
es un tipo de colección:
-
T::iterator
: definición de tipo de un iterador mutable.
vector<int>::iterator
es un tipo.
-
T::const_iterator
: definición de tipo de un iterador inmutable.