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

SL & STL C++ Discussion :

pb de suppression d'éléments avec une map


Sujet :

SL & STL C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 100
    Points
    100
    Par défaut pb de suppression d'éléments avec une map
    Bonjour,
    malgré la lecture de la (faq)
    je n'arrive pas a supprimer correctement un élément d'une map lors d'un parcours à l'aide d'itérateurs (le programme saute lorsque j'incrémente mon itérateur).
    La faq me donne bien un exemple de suppression avec parcours pour une list, cependant cet exemple ne peux pas s'appliquer a la map, la méthode erase de map ne renvoyant pas d'itérateurs mais void et il n'y a pas d'exemple de parcours avec suppression pour une map ... quelqu'un aurait-il une idée ?

    ps : j'ai bien pensé a stocker tout mes itérateurs a supprimer dans un vecteur pendant le parcours et ne les supprimer qu'apres mais ... je trouve ca un peu crade.

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    map<xxx, yyy>::iterator It = m.begin();
    while (It != m.end())
    {
        if (Condition(It->second))
            m.erase(It++);
        else
            ++It;
    }

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 100
    Points
    100
    Par défaut
    merci !

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

Discussions similaires

  1. Boucle de suppression d'éléments d'une Map
    Par olive_le_malin dans le forum C++
    Réponses: 19
    Dernier message: 28/10/2013, 16h20
  2. Réponses: 5
    Dernier message: 11/06/2007, 13h23
  3. Suppression d' éléments dans une liste.
    Par conan76 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/03/2007, 09h33
  4. [Conception] Avoir le Fifo avec une Map en Java.
    Par petozak dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 19/02/2007, 15h54
  5. Utilisation d'un template avec une map
    Par bonano dans le forum Langage
    Réponses: 6
    Dernier message: 09/08/2006, 21h26

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