Un pointeur intelligent est semblable à un pointeur de bureau ordinaire , qui est un type de données de langage de programmation, mais avec des fonctionnalités améliorées . L'appareil peut simplifier développement C + + , car il a l'intention de limiter le nombre de bugs liés à abuser des pointeurs réguliers. Les pointeurs de surveiller les objets qu'ils ont pointé pour la gestion de la mémoire. Le garbage collector recueille des données à partir d'objets qui ne sont plus utilisés par le programme. Cette fonctionnalité remplace la gestion manuelle de la mémoire , ce qui nécessite l'opérateur de sélectionner chaque objet qui doit être désalloués et est retourné à la mémoire de l' ordinateur. Le pointeur intelligent assiste également à la vérification de limites , qui surveille si une variable est à l'intérieur d'une limite avant de l'utiliser . Instructions 1 assurer que vous ne disposez pas d'un compte de référence invalide, qui vise à supprimer un objet trop tôt ou jamais. Attribuer un exemple récemment développé un pointeur intelligent et l'y maintenir . Maintenant, le pointeur intelligent propriétaire de l'objet . Vous ne pouvez pas supprimer manuellement ou le remplacer. Cela permettra d'assurer un objet référencé par un pointeur intelligent n'est pas effacé par erreur ou donné un nombre de référence non valide . 2 utiliser un pointeur pour doper votre code. Ecrire ... _ptr mon Ptr ( T) neuf si vous créez votre propre pointeur intelligent . Utilisez ptr.get () pour récupérer le pointeur brut . Ne pas attribuer un T * à un pointeur intelligent . Vous pouvez également ne pas écrire ptr = NULL . Pour cela, utilisez ptr.reset (). Deux objets qui référencent les uns les autres grâce à un pointeur de comptage de références ne sont jamais supprimés . Vous devez également ne jamais construire un shared_ptr temporaire pour passer aux fonctions. Créer une variable nommée (local) à la place. En faisant cela , vous allez augmenter la sécurité de votre code. 3 Attribuer le auto_ptr pointeur intelligent standard pour la simplicité. Il est souvent le meilleur choix pour les variables locales . D'autres options incluent le membre de la classe , mais vous pouvez attribuer auto_ptr en tant que membre de la classe. Un pointeur de vache dans ce domaine peut économiser de la mémoire de l'ordinateur. Un conteneur STL peut être affectée à des pointeurs ordures collectées pour stocker des objets de différentes classes en un seul récipient. Comprendre les caractéristiques de la collecte des ordures spécifique utilisé . Comptage /reliant référence peut fuir quand une référence circulaire est appliquée. Par exemple, quand un objet pointu a un pointeur compté , il pointera vers un objet qui a compté le pointeur d'origine. Cette technique , lorsqu'il est utilisé à droite , est simple et déterministe.
|