Les Vecteurs en C++

Qu'est-ce qu'un Vecteur ?

Un vecteur en C++ est une liste dynamique qui peut facilement ajuster sa taille. Ce type de conteneur est capable de s'agrandir ou de se rétrécir selon le nombre d'éléments qu'il contient, mais il est important de noter qu'il ne peut contenir que des valeurs d'un même type de données.

Syntaxe des Vecteurs

Pour utiliser des vecteurs, il est nécessaire d'inclure la bibliothèque des vecteurs. Voici comment procéder :

#include 

std::vector nom;

Lorsque vous créez un vecteur, vous devez préciser le type de données qu'il contiendra, et ce type ne pourra plus être modifié par la suite.

Créer un Vecteur

Créer un vecteur avec une taille spécifiée :

std::vector notes(10);

Créer et initialiser un vecteur :

std::vector commandes = {3.99, 12.99, 2.49};

Accéder aux informations d'un Vecteur

Étant donné que les vecteurs sont dynamiques, il existe plusieurs méthodes pour obtenir des informations à leur sujet.

Indexation : Un index indique la position d'un élément dans une liste ordonnée. Par exemple, le premier élément se trouve à l'index 0. Pour accéder à des éléments spécifiques dans un vecteur, vous pouvez utiliser la syntaxe suivante :

std::vector commandes = {3.99, 12.99, 2.49};
// Quel est le premier élément ?
std::cout << commandes[0];
// Quel est le dernier élément ?
std::cout << commandes[2];

.size() : Pour connaître le nombre d'éléments dans un vecteur, utilisez la méthode .size() :

std::cout << commandes.size();

Capacité d'un Vecteur

La méthode .capacity() permet de découvrir la capacité actuelle d'un vecteur, c'est-à-dire combien d'éléments il peut contenir avant de devoir réserver de la mémoire supplémentaire. La capacité initiale est généralement faible mais augmente au fur et à mesure que des éléments sont ajoutés.

// Vérifier la capacité initiale
std::cout << "Capacité initiale : " << commandes.capacity() << std::endl;
// Ajout d'éléments au vecteur
for (int i = 0; i < 10; ++i) {
    commandes.push_back(i);
}
// Vérifier la capacité après l'ajout d'éléments
std::cout << "Capacité après ajout : " << commandes.capacity() << std::endl;

Accéder en toute sécurité aux éléments d'un Vecteur

Utiliser la méthode .at() est une manière sécurisée d'accéder aux éléments d'un vecteur, car elle effectue des vérifications de limites et renvoie une erreur si l'index est hors des bornes :

// Premier élément
std::cout << commandes.at(0);
// Dernier élément
std::cout << commandes.at(2);
// Hors limites
std::cout << commandes.at(100);  // Cela provoquera une erreur

Ajouter des Éléments dans un Vecteur

Il existe plusieurs manières d'ajouter des éléments dans un vecteur :
- .push_back() :

std::vector v = {1, 2, 3, 4};
v.push_back(5);
int n = v.size();
std::cout << "Le dernier élément est : " << v[n - 1];  // Affiche : 5
  • .emplace_back() :
v.emplace_back(5);
std::cout << "Le dernier élément est : " << v[n - 1];  // Affiche : 5
  • .insert() :
v.insert(v.begin(), 0);  // Insère au début
v.insert(v.end(), 6);  // Insère à la fin
std::cout << "Le premier élément est : " << v[0] << "\n";  // Affiche : 0
std::cout << "Le dernier élément est : " << v[5] << "\n";  // Affiche : 6