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

book
Allocation Dynamique

L'allocation dynamique de mémoire implique l'utilisation des opérateurs new et delete. Ces opérateurs vous permettent d'allouer de la mémoire pour des variables et des tableaux à l'exécution, offrant ainsi une flexibilité supérieure par rapport à l'allocation statique de mémoire.

  • new : opérateur utilisé pour allouer dynamiquement de la mémoire pour un objet ou un tableau d'objets pendant l'exécution ;

  • delete : opérateur utilisé pour désallouer la mémoire qui a été précédemment allouée avec l'opérateur new.

Remarque

Un pointeur pointant vers une mémoire allouée dynamiquement est généralement stocké sur la pile, mais la mémoire à laquelle il fait référence est allouée sur le tas.

Pour créer dynamiquement une variable entière, vous devez utiliser un pointeur associé au mot-clé new.

Pour libérer la mémoire allouée dynamiquement, vous utilisez l'opérateur delete:

Faites-en une règle : lorsque vous utilisez new pour allouer de la mémoire, utilisez toujours delete pour la libérer ultérieurement.

Note

Le fait de ne pas supprimer la mémoire allouée dynamiquement peut entraîner des fuites de mémoire, où le programme conserve de la mémoire qui n'est plus utilisée.

Tableaux alloués dynamiquement

Lors de l'allocation dynamique de mémoire pour des tableaux, utilisez l'opérateur new[ ] et, lors de la libération de la mémoire allouée pour des tableaux, utilisez delete[ ].

Tâche

Swipe to start coding

  • Allouer dynamiquement une variable de type float et un tableau de type int.
  • Afficher les adresses de la variable et du tableau alloués.
  • Libérer la mémoire allouée.

Solution

cpp

solution

#include <iostream>

int main()
{
float* variable = new float;
float* arr = new float[10];
std::cout << arr;
std::cout << variable;
delete variable;
delete[] arr;
}

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 2
#include <iostream>

int main()
{
float _ variable = ___ float;
int _ arr = ___ ___[_];
std::cout << arr << std::endl;
std::cout << variable << std::endl;
___ variable;
___ __ arr;
}

Demandez à l'IA

expand
ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt