print geeksforgeeks advance c++ iterator

geeksforgeeks - print iterator vector c++



¿Qué son iteradores, C++? (5)

¿Qué son iteradores en C ++?


Aunque inicialmente parece bastante obvio, esta es en realidad una pregunta más profunda de lo que te puedes imaginar. Junto con Paul McJones, Alexander Stepanov (diseñador del original, para cualquiera que no lo sepa) publicó recientemente un libro llamado Elementos de programación (también conocido como EOP). La totalidad del capítulo seis de ese libro está dedicado específicamente a los iteradores, y gran parte del resto del libro también se relaciona estrechamente con los iteradores. Cualquiera que realmente quiera conocer iteradores con todo detalle podría considerar leer este libro.

Advertencia: EOP no es para los débiles de corazón. Es relativamente corto (~ 260 páginas), pero bastante denso. Hablando desde la experiencia, el principio es un poco desconcertante. Mi reacción inicial al primer capítulo fue más o menos "bueno, esto es tan obvio que apenas vale la pena leer. ¡Empecé a programar antes de la semana pasada, después de todo!"

Afortunadamente, miré los ejercicios e intenté hacer un par, y aunque había pensado en los temas como obvios, los ejercicios exigen pruebas rigurosas. Es como pedirle que pruebe (en un sentido matemático) que el agua está mojada. Terminas necesitando leer el capítulo un par de veces solo para superar tu propia noción preconcebida de que ya sabes las respuestas, para que puedas ver la verdadera pregunta: ¿qué significa realmente "mojado"? ¿Cuáles son las características fundamentales de "humedad"?


De p. 80 de C ++ acelerado :

Un iterador es un valor que

  • Identifica un contenedor y un elemento en el contenedor
  • Permite examinar el valor almacenado en ese elemento
  • Proporciona operaciones para moverse entre elementos en el contenedor
  • Restringe las operaciones disponibles en formas que corresponden a lo que el contenedor puede manejar eficientemente

Iteradores son una forma de atravesar una colección de objetos. Normalmente, le permiten acceder secuencialmente a un contenedor STL (Biblioteca de plantillas estándar) de forma similar al acceso a una matriz C clásica con un puntero. Para acceder a un objeto a través de un iterador, lo desreferencia como un puntero C. Para acceder al siguiente objeto de una colección, use el operador de incremento (++). Algunos contenedores tienen múltiples tipos de iteradores que le permiten recorrer la colección de diferentes maneras.


Son una representación de una posición dentro de una secuencia. Por sí mismos, son poco más que curiosidades, pero cuando se desreferencian, dan como resultado el valor contenido en la secuencia en la posición que representa.


http://en.wikipedia.org/wiki/Iterator

Algo que te permite revisar todo en una matriz, uno por uno.

En c ++, creo que estás hablando de "for_each" ... Hasta donde yo sé, C ++ en realidad no tiene "foreach" a diferencia de los lenguajes como C #. Sin embargo, la biblioteca de plantillas estándar lo tiene.