for-in

Este bucle sirve para recorrer sobre colecciones de datos y estructuras iterables (array / vector) y acceder a sus valores directamente. Veamos la estructura general del bucle:

for(type_iterator iterator: iterable)
  statement

Veamos un ejemplo de iteración sobre un array de enteros, el funcionamiento del cuál se verá más adelante.

#include <iostream>
using namespace std;

int main ()
{
  int numbers[]={1,2,3,4,5,6,7};
  for(int n : numbers)  {
    cout << n << ", ";
  }

  cout << "Blast-off!\n";

  return 0;
}

Su salida sería:

1, 2, 3, 4, 5, 6, 7, Blast-off!

Esto nos permite recorrer la lista numbers, pero no nos permite modificar el valor que contiene el iterador n. Para poder modificar el valor podríamos utilizar n como referencia con &n (el uso de referencia se explicará más adelante):

int main ()
{
  int numbers[]={1,2,3,4,5,6,7};
  for(int& n : numbers)  {
    cout << n << ", ";
    n++;
  }

  cout << "Blast-off!\n" << endl;

  for(int n: numbers) {
    cout << n << ", ";
  }

  return 0;
}

Su salida sería:

1, 2, 3, 4, 5, 6, 7, Blast-off!
2, 3, 4, 5, 6, 7, 8,

Como vemos, los valores de la lista se han modificado.

Es importante remarcar que esto solo funciona con estándares posteriores a C++11.

results matching ""

    No results matching ""