Comment ôter un vecteur en C++

Jinku Hu 12 octobre 2023
  1. Utiliser la boucle for pour itéréer sur le vecteur
  2. Utilisation de la boucle à distance pour itération sur le vecteur
  3. Utilisez std::for_each Algorithme pour itérer sur le vecteur
Comment ôter un vecteur en C++

Cet article présente quelques méthodes pour itérer à travers le vecteur C++ en utilisant différentes boucles. Notez que l’exemple de code utilise l’opération cout pour imprimer les éléments pendant l’itération pour une meilleure démonstration.

Utiliser la boucle for pour itéréer sur le vecteur

La première méthode est la boucle for, qui consiste en une déclaration en trois parties séparées par des virgules. Nous commençons par définir et initialiser la variable i à zéro, ce qui n’est fait qu’une fois. La partie suivante compare la variable i au nombre d’éléments dans le vector, qui est récupéré avec la méthode size(). La dernière partie est exécutée à chaque itération comme une partie de comparaison, et elle incrémente i de un.

#include <iostream>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;

int main() {
  vector<string> str_vec = {"bit",    "nibble",     "byte",      "char",
                            "int",    "long",       "long long", "float",
                            "double", "long double"};

  for (size_t i = 0; i < str_vec.size(); ++i) {
    cout << str_vec[i] << " - ";
  }
  cout << endl;

  return EXIT_SUCCESS;
}

Production:

bit - nibble - byte - char - int - long - long long - float - double - long double -

Utilisation de la boucle à distance pour itération sur le vecteur

La boucle for peut devenir assez difficile à lire dans certains cas, et c’est pourquoi il existe une structure alternative appelée boucle à distance. Cette version est mieux adaptée à l’itération de structures de conteneurs trop compliquées et offre des fonctionnalités flexibles pour accéder aux éléments. Voir l’exemple de code suivant:

#include <iostream>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;

int main() {
  vector<string> str_vec = {"bit",    "nibble",     "byte",      "char",
                            "int",    "long",       "long long", "float",
                            "double", "long double"};

  for (auto item : str_vec) {
    cout << item << " - ";
  }
  cout << endl;

  return EXIT_SUCCESS;
}

Utilisez std::for_each Algorithme pour itérer sur le vecteur

Les algorithmes STL disposent de nombreuses fonctionnalités prêtes à l’emploi, et l’une de ces méthodes est l’itération, qui prend comme arguments : la portée et la fonction à appliquer aux éléments de la portée. L’exemple suivant montre comment nous pouvons déclarer un objet de fonction avec l’expression lambda et ensuite appliquer cette custom_func aux éléments vectoriels avec une déclaration.

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

using std::cin;
using std::cout;
using std::endl;
using std::for_each;
using std::vector;

int main() {
  vector<int> int_vec = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  auto custom_func = [](auto &i) { i *= i; };

  for_each(int_vec.begin(), int_vec.end(), custom_func);
  for (auto i : int_vec) cout << i << "; ";
  cout << endl;

  return EXIT_SUCCESS;
}
Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Article connexe - C++ Vector