Les pointeurs vs auto_ptr vs shared_ptr

J'ai été récemment introduit à l'existence de auto_ptr et shared_ptr et j'ai un assez simple/naïve question.

J'essaie de mettre en œuvre une structure de données et j'ai besoin de point pour les enfants d'un Node qui (sont plus que de 1 et de ses) numéro peut changer. Qui est la meilleure solution et pourquoi:

class Node
{
    public:
        //...
        Node *children;

    private:
        //...
}

class Node
{
    public:
        //...
        share_ptr<Node> children;

    private:
        //...
}

Je ne suis pas sûr, mais je pense que auto_ptr ne fonctionne pas pour les tableaux. Je ne suis pas, aussi, assurez-vous pour savoir si je dois utiliser des doubles pointeurs. Merci pour toute aide.

auto_ptr est déconseillée en C++11 et doit être évitée si possible dans le code dans les anciennes version C++.
auto_ptr est déconseillée car elle est inutilement difficile à utiliser correctement. Utilisation unique_ptr à la place qui est essentiellement la même que auto_ptr, juste qu'il fonctionne correctement et prend également en charge les tableaux. Il est disponible depuis le C++11.
aussi jeter un oeil à stackoverflow.com/questions/3987521/...

OriginalL'auteur Dimitris Leventeas | 2010-09-25