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 :

Suppression dans map


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Par défaut Suppression dans map
    Salut,

    Voilà le problème.

    std::map< std::string, int > M ;

    Voilà M contient par exemple dix paires.

    On peut supprimer la première paire avec :
    M.erase( M.begin() ) ; // ok
    mais
    M.erase( M.begin() + 2 ) ; // ça coince.

    Franchement je ne comprends pas. Comment faire pour supprimer
    une paire dans une map ?

  2. #2
    Membre expérimenté
    Avatar de David Fleury
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 253
    Par défaut

    M.erase( "A" ); // valeur d'une clef
    M.erase( M.begin() ); // à une position (ici la première paire)
    M.erase( M.begin(), ++M.begin() ); // un "range"
    map<>::iterator est un itérateur bidirectional et non pas random access.
    Tu ne peux pas faire += ou + dessus.

    edit : j'ai oublié advance si tu veux vraiment faire le +2

  3. #3
    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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    On veut rarement accéder à un élément d'un conteneur trié par son index, plutôt par sa clé. Ceci-dit c'est toujours possible avec std::advance.

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Par défaut
    Salut,
    Laurent écrit :
    On veut rarement accéder à un élément d'un conteneur trié par son index, plutôt par sa clé. Ceci-dit c'est toujours possible avec std::advance.
    Mais comment ? Je cherche std::advance et je ne trouve rien .
    Un exemple svp pour avoir une idée des prototypes ...

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Par défaut
    Bonjour,

    ça va, j'ai trouvé pour le std::advance, mais cela me paraît un peu grincheux par rapport à l'isomorphisme de la gestion des conteneurs.

    Un map n'est plus un conteneur ? Un set non plus ...Une liste ou un vecteur sans doute ...

    Qu'est un conteneur ?

    Un conteneur qui contient sans exception ...

    salut.

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Citation Envoyé par dj.motte
    ça va, j'ai trouvé pour le std::advance, mais cela me paraît un peu grincheux par rapport à l'isomorphisme de la gestion des conteneurs.
    Au contraire, c'est que qui permet d'avoir une interface commune, on ne devrait jamais faire de +, que des advance, à priori.
    Et puis l'isomorphisme des conteneurs, c'est une belle blague, ça ne sert à rien. En fait, tu ne sais pas exactement ce qu'est un conteneur

Discussions similaires

  1. Problème de suppression dans une table
    Par Splinter dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/10/2005, 10h55
  2. [Debutant]Suppression dans des tables avec contraintes
    Par Roming22 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 26/10/2004, 17h23
  3. Combler les trous lors d'une suppression dans une table
    Par Billybongjoe dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 08/04/2004, 14h02
  4. [LG]suppression dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 9
    Dernier message: 16/12/2003, 21h20
  5. [LG]suppression dans un fichier
    Par cedrick essale dans le forum Langage
    Réponses: 5
    Dernier message: 10/08/2003, 15h22

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