46 votes

Quelle est la manière la plus efficace d'itérer un std :: vector et pourquoi?

En termes de complexité spatio-temporelle, quelle est la meilleure façon d'itérer sur un std :: vector et pourquoi?

Voie 1:

 for(std::vector<T>::iterator it = v.begin(); it != v.end(); ++it) {
    /* std::cout << *it; ... */
}

Voie 2:

 for(std::vector<int>::size_type i = 0; i != v.size(); i++) {
    /* std::cout << v[i]; ... */
}

Voie 3:

 for(size_t i = 0; i != v.size(); i++) {
    /* std::cout << v[i]; ... */
}

Voie 4:

 for(auto const& value: a) {
     /* std::cout << value; ... */

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X