next up previous contents
Next: Libération de mémoire - Up: Les pointeurs Previous: Le pointeur NULL

L'allocation de mémoire - l'opérateur new

Il me paraît indispensable de faire ici quelques remarques importantes, en ce sens qu'elles vous permettront (peut-être) d'éviter des erreurs douloureuses, ou du moins de les corriger plus vite :

La première façon d'allouer de la place mémoire pour y stocker des objets vous est déjà connue : c'est la déclaration de variables. Les adresses de ces objets peuvent alors être récupérées grâce à l'opérateur & déjà présenté.

La seconde façon, dite allocation dynamique, consiste à faire exécuter dans le programme une opération d'allocation nommée new qui retourne comme résultat :

L'opérateur new prend pour opérande droit le type de l'objet à allouer, ce qui définit la taille de la zone de mémoire à réserver pour stocker cet objet.

  ex755

L'avantage de l'allocation dynamique par rapport à la déclaration de variables est de permettre d'adapter, lors de l'exécution du programme, la consommation de mémoire à la taille effective des données traitées.

Pour déclarer une variable de type tableau, on a vu que la dimension du tableau devait être spécifiée par une constante. La seule façon d'allouer un tableau dont on ne connaît pas à l'avance la dimension est donc l'allocation dynamique.

L'allocation dynamique de tableau peut se faire simplement par l'opération :

      pointeur_type_objet = new nom_type_objet[taille_tableau];
La section gif précise les rapports existant entre pointeurs et tableaux.


next up previous contents
Next: Libération de mémoire - Up: Les pointeurs Previous: Le pointeur NULL

Michel COUPRIE
Thu Sep 12 14:57:14 METDST 1996