Passer au contenu principal
eLearner.app
Module 5 · Leçon 1 sur 211/18 dans le cours~12 min
Leçons du module (1/2)

Tableaux et Vecteurs

En C++, la gestion des collections de données se fait principalement via deux outils : les tableaux à l'ancienne (C-style arrays) et les vecteurs (std::vector). Comprendre la différence entre la mémoire statique et la mémoire dynamique est essentiel pour écrire un code efficace.


1. Tableaux Statiques (C-style Arrays)

Un tableau est une collection d'éléments du même type stockés dans des positions contiguës de la mémoire. La taille d'un tableau statique doit être connue au moment de la compilation et ne peut pas être modifiée par la suite :

Code
int grades[5] = {18, 22, 25, 28, 30}; // Array di 5 interi

Caractéristiques principales :

  • Taille fixe : Il n'est pas possible d'ajouter ou de supprimer des éléments au moment de l'exécution (runtime).
  • Allocation sur la Pile (Stack) : Ils sont très rapides à allouer et à désallouer.
  • Accès : Se fait via l'opérateur d'index [] (ex. grades[0] pour le premier élément).

2. Vecteurs Dynamiques (std::vector)

La bibliothèque standard (STL) du C++ fournit la classe std::vector, qui représente un tableau dynamique. Pour l'utiliser, il est nécessaire d'inclure l'en-tête <vector> :

Code
#include <vector>

std::vector<int> numbers; // Crea un vettore vuoto di interi

Opérations courantes :

  • Ajout à la fin : La méthode .push_back(valore) insère un élément à la fin du vecteur, en réallouant automatiquement la mémoire si nécessaire.
  • Taille : La méthode .size() renvoie le nombre d'éléments actuellement présents dans le vecteur.
  • Accès sécurisé : En plus de l'opérateur [], il est possible d'utiliser la méthode .at(indice) (ex. numbers.at(0)), qui lève une exception si l'indice est hors limites.
Code
std::vector<int> scores = {90, 85};
scores.push_back(95); // scores ora contiene {90, 85, 95}
std::cout << scores.size(); // Stampa 3

À vous de jouer

Exercice#cpp.m5.l1.e1
Tentatives : 0Chargement…

Déclarez un std::vector d'entiers appelé numbers. Ajoutez-y les valeurs 10, 20 et 30 à l'aide de la méthode .push_back(), puis affichez sa taille en utilisant numbers.size().

Chargement de l'éditeur…
Afficher l'indice

Déclarez le vecteur avec `std::vector<int> numbers;`, insérez les trois nombres avec `.push_back(valore)`et affichez-le avec`std::cout << numbers.size();`.

Solution disponible après 3 tentatives

Exercice#cpp.m5.l1.e2
Tentatives : 0Chargement…

Dans le main, un tableau grades de 5 éléments est défini. Écrivez une boucle for pour calculer la somme de tous les éléments du tableau, stockez-la dans la variable sum et affichez-la avec std::cout.

Chargement de l'éditeur…
Afficher l'indice

Utilisez une boucle `for (int i = 0; i < 5; ++i)`et additionnez chaque élément à l'intérieur de la boucle avec`sum += grades[i];`.

Solution disponible après 3 tentatives

Quiz#cpp.m5.l1.q1
Prêt

Quelle est la méthode correcte pour ajouter un élément à la fin d'un std::vector en C++ ?

Code
std::vector<int> numbers; // come aggiungere il valore 50?
Options de réponse