0/5 (1 avis)
Snippet vu 25 575 fois - Téléchargée 41 fois
//Cette classe est une table associant //une clee a une valeur : une sorte de //tableau sauf que les indices ne sont //plus un entier, mais une chaine de //caractere, ou autre ... #include <stdio.h> #include <map> #include <string> int main(int argc, char ** argv){ //on declare un tableau d'entier qui sera indexe par une chaine std::map<std::string, int> mapAgenda; //on ajoute quelques valeurs mapAgenda["toto"] = 12; mapAgenda["titi"] = 1000330055; //on declare un iterateur sur cette map std::map<std::string, int>::iterator iter; //on cherche la chaine tibur iter = mapAgenda.find( "tibur" ); if (iter==mapAgenda.end()){ //on a pas trouve printf("tibur non trouve\n"); } else{ printf("hum\n"); } //on cherche toto iter = mapAgenda.find( "toto" ); if (iter==mapAgenda.end()){ //on a pas trouve printf("toto non trouve\n"); } else{ //on a trouve int num = mapAgenda["toto"]; //on recupere l'entier depuis notre map // int num = iter->second; printf("toto trouve : num = %d\n", num); //on l'affiche } return 0; } //neiger@ifrance.com
27 janv. 2003 à 10:31
il serait intéressant de dire que les entrées sont triées automatiquement par rapport à leur clef
et que : int num = mapAgenda[tibur]; CREE AUTOMATIQUEMENT l'entrée tibur !!!
il vaut donc mieux coder, après le find : int num = iter->second
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.