Implémentations disponibles du pointeur intelligent C et leurs comparaisons
C 03
-
std::auto_ptr: Obsolète dans les futures normes C. Collecte des ordures limitée, complications de propriété et impossibilité d'utilisation dans les conteneurs STL.
-
std::auto_ptr_ref: Pas un véritable pointeur intelligent ; utilisé conjointement avec std::auto_ptr pour permettre la copie et l'affectation.
C 11
-
std::unique_ptr: Remplace std::auto_ptr. Corrige les faiblesses de std::auto_ptr, permettant de travailler avec des tableaux, la protection des valeurs lvalue et l'utilisation dans des conteneurs STL.
-
std::shared_ptr: Pointeur intelligent avec référence. Prend en charge l'alias et l'arithmétique du pointeur.
-
std::weak_ptr: Référence non propriétaire à un objet appartenant à un std::shared_ptr. Empêche les décomptes de références cycliques indéfinis.
Boost
-
boost::shared_ptr: Pointeur intelligent partagé populaire avec comptage de références. Hautes performances et polyvalence.
-
boost::weak_ptr: Référence non propriétaire à un boost::shared_ptr.
-
boost::scoped_ptr: Alternative simple au pointeur intelligent pour boost::shared_ptr avec moins surcharge.
-
boost::intrusive_ptr: Pointeur intelligent personnalisé pour créer vos propres classes compatibles avec les pointeurs intelligents.
-
boost::shared_array: Partagé pointeur intelligent pour tableaux.
-
boost::scoped_array: Pointeur intelligent non copiable pour les tableaux.
Qt
-
QPointer : Pointeur intelligent faible pour QObject et les classes dérivées. Obsolète.
-
QSharedDataPointer : Pointeur intelligent puissant comparable à boost::intrusive_ptr, avec sécurité des threads.
-
QExplicitlySharedDataPointer : Version 2.0 de QSharedDataPointer avec amélioration contrôle sur détachement.
-
QSharedPointer : Pointeur intelligent partageable avec comptage de références atomiques, thread-safe.
-
QWeakPointer : Référence non propriétaire à un QSharedPointer.
-
QScopedPointer : Pointeur intelligent à propriétaire unique basé sur boost::scoped_ptr, adapté au code et à la compatibilité sans exception.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn