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 :

Delete pointeur de list


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 30
    Points : 30
    Points
    30
    Par défaut Delete pointeur de list
    Bonjour,
    j'ai une classe classeA et une classeB.
    Dans classeA, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class ClasseA{
      list<ClasseB*> *ptrListe;
     
      ~ClasseA(){
        for( list<ClasseB*>::iterator i = ptrListe->begin(); i != ptrListe->end(); ++i){
    	delete(*i);
      }
    }
    };
    Je supprime bien le contenu des pointeurs contenu dans la liste, mais est ce que je dois rajouter ? :
    Est ce qu'il manque un truc?

    Merci.

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Citation Envoyé par Staithes Voir le message
    Je supprime bien le contenu des pointeurs contenu dans la liste, mais est ce que je dois rajouter ? :
    Oui il faut aussi détruire ton pointeur sur la liste si tu l'as allouée dynamiquement (chaque new doit avoir son delete).
    Citation Envoyé par Staithes Voir le message
    Est ce qu'il manque un truc?
    Une politique de copie ? L'exception safety lors de leur allocation ? Bref, des pointeurs intelligents.
    Pourquoi gérer la liste par pointeur ? Les conteneurs n'ont en général aucun intérêt à être gérer par pointeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::list<ClasseB*> Liste
    voir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::list<std::shared_ptr<ClasseB>> Liste

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 30
    Points : 30
    Points
    30
    Par défaut
    Merci.
    Je retiens :
    chaque new doit avoir son delete
    Je suis partie sur cette idée et ca ne surcharge pas trop le code.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pointeur sur List
    Par ludo00002 dans le forum Débuter
    Réponses: 7
    Dernier message: 08/01/2009, 10h47
  2. Pointeur dans liste ?
    Par eyquem dans le forum Général Python
    Réponses: 2
    Dernier message: 12/05/2008, 22h30
  3. Pointeurs et listes chaînées
    Par womannosky dans le forum C++
    Réponses: 8
    Dernier message: 11/11/2007, 04h41
  4. Réponses: 18
    Dernier message: 29/03/2007, 20h40
  5. [Débutant] Pointeur sur liste chainée
    Par HaTnuX dans le forum C
    Réponses: 2
    Dernier message: 02/12/2006, 17h53

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