Quelle est la différence entre un nouvel opérateur et un opérateur de suppression en C ++

le différence principale entre new et delete operator en C ++, c’est que new est utilisé pour allouer de la mémoire pour un objet ou un tableau, tandis que delete est utilisé pour libérer la mémoire allouée à l'aide de l'opérateur new.

Il existe deux types de mémoire: mémoire statique et mémoire dynamique. Supposons une déclaration telle que int a; int array [10]; le programmeur sait déjà combien de mémoire ces variables nécessitent. Cette mémoire est une mémoire statique. Il est parfois difficile de déterminer la quantité de mémoire nécessaire pour stocker des données. Par conséquent, la mémoire doit être déterminée au moment de l'exécution. Ce type de mémoire est une mémoire dynamique. Nous utilisons des opérateurs nouveaux et supprimés dans ces situations.

Zones clés couvertes

1. Quel est le nouvel opérateur en C++
     - Définition, fonctionnalité
2. Qu'est-ce que delete Operator en C++
     - Définition, fonctionnalité
3. Quelle est la différence entre un nouvel opérateur et un opérateur de suppression en C++
     - Comparaison des différences clés

Mots clés

C ++, opérateur de suppression, allocation de mémoire, nouvel opérateur

Quoi de neuf en C++

Le nouvel opérateur alloue de la mémoire. Voir le programme ci-dessous.

Figure 1: programme C ++ 1 avec nouvel opérateur

Selon le programme ci-dessus, le ptr est un pointeur de type entier. À la ligne 7, ptr pointe sur la mémoire de type int. À la ligne 8, la valeur ptr désignée à 10. L’impression * p donnera la valeur 10.

De même, il est possible de créer des tableaux à l'aide des nouveaux éléments suivants.

Figure 2: programme C ++ 2 avec nouvel opérateur

Selon le programme ci-dessus, ptr est un pointeur de type entier. Dans la ligne 8, ptr pointe sur la mémoire de type int qui peut stocker 5 éléments entiers. Ensuite, les valeurs entières sont stockées dans le tableau. Enfin, for loop parcourt le tableau et imprimera les valeurs.

De plus, il est possible de créer de nouveaux objets en utilisant l'opérateur new. Reportez-vous à l'exemple ci-dessous.

Figure 3: programme C ++ 3 avec nouvel opérateur

La classe est Student et le constructeur. Dans le programme principal, ptr est un pointeur de type Etudiant. Dans la ligne 13, le constructeur est appelé. Par conséquent, un objet de type Étudiant est créé. L'instruction cout à l'intérieur du constructeur Student s'exécute et cette instruction est affichée sur la console..

Qu'est-ce que supprimer en C++

L'opérateur delete aide à libérer la mémoire. Voir le programme ci-dessous.

Figure 4: programme C ++ 1 avec opérateur de suppression

Dans le programme ci-dessus, ptr est un pointeur de type int. Dans la ligne 7, il pointe vers la mémoire de type int, tandis que dans la ligne 8, il reçoit la valeur 10. De plus, dans la ligne 11, ptr est supprimé..

Figure 5: programme C ++ 2 avec opérateur de suppression

Selon le programme ci-dessus, ptr est un pointeur de type entier. Dans la ligne 8, ptr pointe sur la mémoire de type int, qui peut stocker 2 éléments entiers. Ensuite, les valeurs entières sont stockées dans le tableau. À la ligne 12, ptr est supprimé. L'opérateur de suppression libère la mémoire.

Différence entre nouvel opérateur et opérateur de suppression en C++

Définition

En bref, new est un opérateur en C ++ qui alloue de la mémoire pour un objet ou un tableau d'objets. En revanche, delete est un opérateur en C ++ qui libère un bloc de mémoire alloué précédemment pour un objet créé à l'aide de l'opérateur new. Ces définitions contiennent la principale différence entre les opérateurs new et delete en C++.

Usage

De plus, nouvel opérateur aide à allouer de la mémoire à un tableau ou à un objet, tandis que l'opérateur delete permet de désallouer la mémoire allouée à un objet ou à un tableau particulier. C’est donc une autre différence entre les opérateurs new et delete en C++.

Conclusion

La différence fondamentale entre les opérateurs new et delete en C ++ est que new est utilisé pour allouer de la mémoire à un objet ou à un tableau, tandis que delete est utilisé pour libérer la mémoire allouée à l'aide de new..

Référence:

1. Nouvel OPÉRATEUR EN C-47, Codearchery, 6 mars 2017, disponible ici.
2. Supprimer l'opérateur dans C-48, Codearchery, 22 mars 2017, disponible ici.