Diferencia entre revisiones de «Programación en C++/Librería Estándar de Plantillas\Iteradores»

Contenido eliminado Contenido añadido
El lobo (discusión | contribs.)
El lobo (discusión | contribs.)
Línea 122:
== Iteradores ==
El termino '''iterar''' significa (en palabras sencillas) el método o forma que se usa para poder navegar sobre los elementos de una lista específica, luego, un iterador es como una especie de puntero que nos permite leer o escribir valores sobre cada uno de los elementos en una lista. Los iteradores pueden ser comparados con los índices que se emplean para leer o escribir valores sobre los elementos de una lista. Igual a lo que sucede con los tipos de datos dentro de un arreglo primitivo en donde para leer o escribir valores sobre los elementos se tiene que prestar atención al tipo de dato, un iterador tiene que ser del tipo de dato que posee la lista. En ese sentido, si tenemos por ejemplo un vector que posee datos de tipo entero ('''int''') entonces el iterador tendrá que ser de tipo entero; si por el contrario se tiene un vector cuyos datos son del tipo cadena ('''string''') entonces el iterador tiene que ser del tipo cadena.<br><br>A manera de ejemplo, vamos a modificar el programa anterior con el fin de mostrar el uso de un iterador de tipo '''char'''.
::Nota: en el programa se hace uso de los métodos '''begin''' para obtener un iterador hacia el inicio del vector, y '''end''' para obtener un iterador hacia el final del mismo.
 
<source lang=cpp>
// Demostracion del uso de iteradores
// probado en: Dev-C++ 4.9.9.2
#include <cstdlib>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[])
{
vector<char> v;
for (int x = 'A'; x <= 'Z'; x++)
v.push_back(x);
// obtenemos un iterator del tipo char
vector<char>::iterator it;
 
// lectura y despliegue de datos
cout << "\ndesplegando datos" << endl;
for( it = v.begin(); it != v.end(); it++ )
cout << *it << endl;
system("PAUSE");
return EXIT_SUCCESS;
}</source>
 
</div>