Contenu du cours
Pointeurs Intelligents C++
Pointeurs Intelligents C++
Guide Définitif sur les Pointeurs Partagés vs Uniques vs Faibles
Dans le dernier chapitre théorique de notre cours, nous renforcerons tous les concepts appris jusqu'à présent pour créer un tableau comparatif complet. Ce tableau servira de guide pratique pour nous aider à sélectionner le pointeur intelligent le plus adapté à divers besoins de gestion de mémoire dynamique.
Sémantique de propriété | Permet à plusieurs pointeurs de partager la propriété d'un objet | Propriété exclusive; un seul pointeur peut posséder un objet | Pointeurs non-propriétaires; n'affectent pas la durée de vie de l'objet |
Construction | Créé en utilisant std::make_shared ou std::shared_ptr | Créé en utilisant std::make_unique ou std::unique_ptr | Pas de construction directe; dérivé des pointeurs partagés |
Adéquation | Convient pour les scénarios nécessitant une propriété partagée | Idéal pour les scénarios nécessitant une propriété exclusive | Rompt les dépendances cycliques |
Cas d'utilisation | Ressource de base de données partagée; objet compteur partagé, etc. | Une ressource de base de données possédée exclusivement par une classe; un objet compteur dynamique exclusif à une classe, etc. | Pour représenter des nœuds faibles dans un graphe ou une liste chaînée; pour implémenter des modèles observateurs |
Surcharge mémoire | Plus élevée, en raison du comptage de références pour suivre la propriété | Inférieure aux pointeurs partagés car aucun comptage de références n'est impliqué | Surcharge négligeable; dépend de l'utilisation du pointeur partagé |
Impact sur la performance | Le plus élevé, en raison du comptage de références | Inférieur, car aucun comptage de références n'est nécessaire | Minimal; juste un observateur |
Copiabilité | Possible | Pas possible | Possible |
Affectabilité | Affectable | Non affectable | Affectable |
Nettoyage mémoire | Désalloué lorsque le compteur de références atteint zéro | Automatiquement désalloué lorsque le pointeur propriétaire sort de la portée | Aucun effet sur la durée de vie de l'objet |
Références circulaires | Possible | Pas possible | Non applicable |
Sécurité des exceptions | Sûr | Sûr | Sûr |
Tout était clair ?
Merci pour vos commentaires !
Section 6. Chapitre 4