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 :

affichage des éléments d'un map


Sujet :

SL & STL C++

  1. #1
    Nouveau membre du Club
    affichage des éléments d'un map
    Bonjour,

    voicu un morceau de code qui a servi à déffinir un map

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
     
    map<string,Date > Anniversaires;
     Anniversaires["Julie"]=Date(8,5,1988);


    Je souhaiterais savoir, une fois mon map défini, comment afficher chacun des éléments du map à l'écran, j'imagine qu'il doit y avoir une fonction pour les "maps" qui fait cela.

    merci

  2. #2
    Membre éprouvé
    Les méthodes map::begin() et map::end() fournissent des itérateurs qui te permettent de naviguer entre toutes les paires clé-valeur qui constituent ta map, stockées sous la forme de std::pair<std::string, Date> dans ton cas.

    Reste donc à consulter, pour chaque itération de ta boucle, les membres pair::first et pair::second pour atteindre respectivement std::string et Date.

  3. #3
    Nouveau membre du Club
    Bonjour

    pourriez-vous me donner un exemple d'utilisation d'itérateur pour cet exemple ?

    Merci

  4. #4
    Responsable 2D/3D/Jeux

    Voici un exemple simple :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    std::map<std::string, int> myMap;
    // Remplissage de la map
     
    for ( std::map<std::string, int>::const_iterator itMap = myMap.begin() ; itMap != myMap.end() ; ++itMap )
    {
        // itMap est un pointeur. Vous pouvez accéder à la clé avec itMap->first, et la valeur avec itMap->second
    }


    Vous pouvez aussi utiliser std::for_each pour parcourir la map.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Expert éminent sénior
    Si tu fais du C++11, tu peux même faire :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(auto & pairElement : myMap)
    {
          value = pairElement.second;
          key = pairElement.first;
    }
    "Parce que le diable est dans les détails, une vision sans nuance ne peut prétendre à la compréhension du monde."

    Mon ancienne page perso : https://neckara.developpez.com/