Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parLucienne Roberge Modifié depuis plus de 6 années
1
Gestion dynamique de la mémoire : new / delete
L’instanciation statique des variables est soumise à la règle de portée de nom. L’allocation dynamique permet de s’affranchir de ces règles. C’est alors au programmeur de gérer la mémoire via - l’utilisation des pointeurs - les opérateurs new et delete L’opérateur new permet d’instancier un objet : il réserve la place mémoire pour le stocker, engendre l’appel du constructeur et retourne l’adresse mémoire de la zone réservée L’opérateur delete engendre l’appel du destructeur puis libère la place mémoire Les opérateurs new et delete s’appliquent aussi bien aux types simples qu’aux types complexes (classes).
2
Gestion dynamique de la mémoire : exemple
Allocation dynamique Déclaration statique int *p0; p0 = new int; *p0 = 421; // p0 pointe sur un entier initialisé a 421 delete p0; Type simple int n = 421; float *tab; tab = new float[5]; // Réserve un tableau de 5 réels for (int i = 0; i < 5; i++) tab[i] = 1.4 * i; delete[] tab; float tab[5]; for (int i = 0; i < 5; i++) tab[i] = 1.4 * i; Tableau // Appel du constructeur par défaut : Cercle *p0 = new Cercle ; // S’il existe un constructeur avec les arguments correspondants : Cercle *p1 = new Cercle(arg1, arg2, arg3); // Tableau de n objets de type Cercle Cercle *p2 = new Cercle [n]; p1->deplace(10, 20); delete p0; delete p1; delete[] p2; Cercle c0; Cercle c1(arg1, arg2, arg3) Cercle c2[10]; c1.deplace(10, 20); Type complexe
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.