Programmation Orientée objet en C++
Chapitre 1. Vocabulaire
Chapitre 2. Principes de la programmation objet
Chapitre 3. Du C au C++
3.1. Les commentaires
3.2. Les flux - E/S avec cout, cin et cerr
3.3. Définition de variables
3.4. Visibilité des variables
3.5. Les types composés
3.6. Allocation de mémoire
Chapitre 4. Les classes
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivante

3.6. Allocation de mémoire

En C, l’allocation de mémoire se réalise en utilisant les fameuses et merveilleuses ( !) fonctions malloc (et ses variantes calloc, realloc) et free. Bien qu’il soit toujours possible de les utiliser en C++, deux nouveaux opérateurs ont pris leur place : new et delete.

Exemple :
int *ptr_int ;
ptr_int = new int ; // allocation dynamique d’un entier
ptr_int = new int (5); // allocation dynamique d’un entier avec initialisation à 5
ptr_int = new int [5]; // allocation dynamique de 5 entiers

delete ptr_int ; // libération d’un entier
delete[ ] ptr_int ; // libération d’un tableau d’entiers.
//Tout ce qui est alloué avec new [ ] doit être libéré avec delete [ ].

Il est important de toujours libérer l’espace mémoire alloué à l’aide d’un new dès qu’il n’est plus utile. Ainsi, à chaque new doit correspondre son alter ego: delete. Dans le cas contraire, on prendra de la mémoire, sans jamais la libérer, et dans le cas de programmes importants (ou par exemple lors d’allocations dans des appels récursifs) on pourrait arriver à rapidement manquer d’espace mémoire.

Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivante