Volver a la página principal
viernes 21 junio 2024
7

Diferentes maneras de iterar vectores en C++ en cada una de sus versiones

Iteración en C++98

En C++98, la manera común de iterar sobre un vector es utilizando un bucle for con iteradores.

#include <vector>
#include <iostream>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
        std::cout << *it << ' ';
    }
    return 0;
}

Iteración en C++11

Con la introducción de C++11, se puede usar el bucle for basado en rangos para iterar de manera más concisa.

#include <vector>
#include <iostream>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    for (int n : vec) {
        std::cout << n << ' ';
    }
    return 0;
}

Iteración en C++17

C++17 introduce las funciones std::for_each y std::begin/std::end para hacer las iteraciones más flexibles.

#include <vector>
#include <iostream>
#include <algorithm>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    std::for_each(std::begin(vec), std::end(vec), [](int n) {
        std::cout << n << ' ';
    });
    return 0;
}

Iteración en C++20

C++20 añade ranges para iterar sobre colecciones de manera aún más simplificada y expresiva.

#include <vector>
#include <iostream>
#include <ranges>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    for (int n : vec | std::views::all) {
        std::cout << n << ' ';
    }
    return 0;
}
Etiquetas:
c++ vectores
Compartir:
Autor:
User photo

Jorge García

Fullstack developer