Contenu du cours
C++ Pointeurs et Références
C++ Pointeurs et Références
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:
main
#include <iostream> #include <ctime> int main() { std::time_t currentTime = std::time(nullptr); int day_passed = std::localtime(¤tTime)->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.
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
solution
Merci pour vos commentaires !
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:
main
#include <iostream> #include <ctime> int main() { std::time_t currentTime = std::time(nullptr); int day_passed = std::localtime(¤tTime)->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.
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
solution
Merci pour vos commentaires !