Vidéo: Comment fonctionne la suppression en C++ ?
2024 Auteur: Lynn Donovan | [email protected]. Dernière modifié: 2023-12-15 23:46
Lorsque supprimer est utilisé pour libérer de la mémoire pour un C++ objet de classe, le destructeur de l'objet est appelé avant la mémoire de l'objet est désalloué (si l'objet a un destructeur). Si l'opérande au effacer opérateur est une valeur l modifiable, sa valeur est indéfini après l'objet est supprimé.
La question est également: quelle est la différence entre supprimer et supprimer en C++ ?
Les deux sont utilisés dans le même but, mais ils ont quand même quelques différences , les différences sommes: effacer est un opérateur alors que free() est une fonction de bibliothèque. effacer libérer la mémoire allouée et appeler le destructeur. Mais free() de-allocatememory mais n'appelle pas de destructeur.
On peut aussi se demander comment fonctionne le nouveau C++ ? Lorsque Nouveau est utilisé pour allouer de la mémoire à un C++ objet de classe, le constructeur de l'objet est appelé après l'allocation de la mémoire. Lors de l'allocation d'un tableau à l'aide de la Nouveau opérateur, la première dimension peut être zéro - le Nouveau L'opérateur renvoie un pointeur unique.
On peut aussi se demander quelle est l'utilité des opérateurs new et delete en C++ ?
C++ prend en charge l'allocation et la désallocation dynamiques d'objets à l'aide de la opérateurs de création et de suppression . Ces les opérateurs allouer de la mémoire aux objets d'un pool appelé le magasin libre. Les nouvel opérateur appelle la fonction spéciale opérateur nouveau , et le opérateur de suppression appelle la fonction spéciale opérateur supprimer.
Dois-je supprimer les pointeurs C++ ?
1 réponse. Vous ne besoin de supprimer il, et, de plus, vous ne devriez pas effacer ce. Si la terre est un objet automatique, elle sera libérée automatiquement. Donc manuellement suppression une aiguille à cela, vous entrez dans un comportement indéfini.