Translate

lunes, 1 de diciembre de 2025

El bucle foreach en C++


En C++ no existe una palabra clave foreach como tal, pero desde C++11 se incorporó una sintaxis que cumple exactamente la misma función: el bucle for basado en rango (range-based for loop).


#include <iostream>

#include <vector>


int main() {

    std::vector<int> numeros = {1, 2, 3, 4, 5};


    for (int n : numeros) {

        std::cout << n << " ";

    }

}


Salida:

1 2 3 4 5


Este bucle recorre automáticamente todos los elementos del contenedor (como un std::vector, std::array, std::list, etc.) sin necesidad de usar índices ni iteradores manuales.

Si querés modificar los valores, podés usar una referencia:


for (int& n : numeros) {

    n *= 2;

}


Esto duplica cada elemento del vector.

Si no necesitás modificar los elementos, es buena práctica usar const:


for (const int& n : numeros) {

    std::cout << n << " ";

}

De esa forma, evitás copias innecesarias y el compilador puede optimizar mejor el código.

En Resumen: 

  • for (tipo var : contenedor) es la forma moderna y legible de recorrer colecciones en C++.
  • Usá referencias si querés modificar los elementos.
  • Usá const si solo vas a leerlos.
  • Funciona con cualquier contenedor que implemente begin() y end().