Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Allocation Dynamique du Tableau | Allocation Dynamique de Mémoire
C++ Pointeurs et Références
course content

Contenu du cours

C++ Pointeurs et Références

C++ Pointeurs et Références

1. Fondamentaux des Pointeurs
2. Arithmétique des Pointeurs
3. Fondamentaux des Références
4. Allocation Dynamique de Mémoire

book
Allocation Dynamique du Tableau

Avant d'examiner pourquoi l'allocation dynamique est nécessaire, passons en revue rapidement les caractéristiques des tableaux statiques et dynamiques:

  • Taille fixe : Une fois déclaré, la taille d'un tableau statique est fixe et ne peut pas être modifiée pendant l'exécution;
  • Allocation de mémoire à la compilation : La mémoire requise pour un tableau statique est allouée lors de la compilation.
  • Redimensionnable: Les tableaux dynamiques permettent le redimensionnement pendant l'exécution, offrant une flexibilité pour s'adapter aux exigences changeantes du programme;
  • Allocation de mémoire à l'exécution: La mémoire pour les tableaux dynamiques est allouée pendant l'exécution du programme.

Les limites d'une approche statique

Considérons le programme qui demande à l'utilisateur de saisir les notes de performance pour chaque jour qui s'est écoulé dans le mois en cours.

Malheureusement, nous ne pouvons pas atteindre cela en utilisant un tableau statique:

cpp

main

copy
12345678910
#include <iostream> #include <ctime> int main() { std::time_t currentTime = std::time(nullptr); int day_passed = std::localtime(&currentTime)->tm_mday; int arr[day_passed]; std::cout << day_passed << std::endl; }

Note

Cela générera une erreur de compilation error car day_passed is not a constant expression et dépend de la valeur d'exécution du jour actuel du mois.

Ainsi, au lieu d'un tableau static nous devons utiliser un tableau dynamic allocated.

Tâche

Swipe to start coding

  • Créez un tableau dynamique avec une taille équivalente au nombre de jours écoulés.
  • Libérez la mémoire allouée.

Solution

cpp

solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 3
toggle bottom row

book
Allocation Dynamique du Tableau

Avant d'examiner pourquoi l'allocation dynamique est nécessaire, passons en revue rapidement les caractéristiques des tableaux statiques et dynamiques:

  • Taille fixe : Une fois déclaré, la taille d'un tableau statique est fixe et ne peut pas être modifiée pendant l'exécution;
  • Allocation de mémoire à la compilation : La mémoire requise pour un tableau statique est allouée lors de la compilation.
  • Redimensionnable: Les tableaux dynamiques permettent le redimensionnement pendant l'exécution, offrant une flexibilité pour s'adapter aux exigences changeantes du programme;
  • Allocation de mémoire à l'exécution: La mémoire pour les tableaux dynamiques est allouée pendant l'exécution du programme.

Les limites d'une approche statique

Considérons le programme qui demande à l'utilisateur de saisir les notes de performance pour chaque jour qui s'est écoulé dans le mois en cours.

Malheureusement, nous ne pouvons pas atteindre cela en utilisant un tableau statique:

cpp

main

copy
12345678910
#include <iostream> #include <ctime> int main() { std::time_t currentTime = std::time(nullptr); int day_passed = std::localtime(&currentTime)->tm_mday; int arr[day_passed]; std::cout << day_passed << std::endl; }

Note

Cela générera une erreur de compilation error car day_passed is not a constant expression et dépend de la valeur d'exécution du jour actuel du mois.

Ainsi, au lieu d'un tableau static nous devons utiliser un tableau dynamic allocated.

Tâche

Swipe to start coding

  • Créez un tableau dynamique avec une taille équivalente au nombre de jours écoulés.
  • Libérez la mémoire allouée.

Solution

cpp

solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 3
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
We're sorry to hear that something went wrong. What happened?
some-alt