IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Utiliser ou pas auto_ptr pour les cas simples?


Sujet :

C++

  1. #21
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    Citation Envoyé par white_tentacle Voir le message
    Quelqu’un peut-il m’expliquer la différence entre les deux ? Personnellement, j’utilise auto_ptr chaque fois que j’ai besoin de faire du transfert d’ownership (c’est à dire rarement), j’en suis satisfait. Qu’apporte unique_ptr de plus ou de moins ?
    D'un le support de la move semantic (c'est important) et l'interface est plus "logique" (comprendre safe), c'est à dire que la copie est interdite (c'est ce qui pété avec les auto_ptr).
    Néanmoins comme il supporte la move semantics et que tu veux transférer l'ownership tu peux toujours le faire via un move mais au moins maintenant c'est explicite.

  2. #22
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    unique_ptr : Le transfert de propriété respecte la move semantic :
    - Automatiquement quand l'objet est un vrai temporaire
    - Explicitement si on utilise std::move
    - Jamais quand on copie un pointeur (d'ailleurs la copie est interdite)

    auto_ptr : Le transfert de propriété a lieu quand on copie le pointeur. On a donc dans les mains une source qui ne contient plus rien, qu'on doit éviter d'utiliser.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/04/2011, 01h19
  2. Réponses: 4
    Dernier message: 28/10/2007, 20h01
  3. Je ne peux pas poster pour les emplois
    Par Shugo78 dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 7
    Dernier message: 03/05/2007, 12h02
  4. Réponses: 9
    Dernier message: 05/02/2007, 18h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo