Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1594 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [RESOLU] initialisation de maps

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] initialisation de maps

n°1375328
oc_alex86
Posté le 26-05-2006 à 08:50:05  profilanswer
 

Bonjour,
j'ai une classe qui a comme argument une map statique.
Comment dois-je l'initialiser ?
dans le .cc ou le .h ?
j'ai essayé :
class::nomMap[valeur]=blalba
Mais ça ne marche pas.
 
J'aimerais aussi savoir comme accéder au premier champ de la map à partir du second.
Par exemple :
map <string,int>  MAP;  
pour accéder au int il suffit de faire :
MAP ["chaîne"]
mais comment faire pour accéder à la chaine à partir du int ?


Message édité par oc_alex86 le 27-05-2006 à 09:20:45
mood
Publicité
Posté le 26-05-2006 à 08:50:05  profilanswer
 

n°1375334
skelter
Posté le 26-05-2006 à 09:19:21  profilanswer
 

tu la definie dans le .cc avec le constructeur qui va (tu peux l'initialisée a partir d'une table), pas d'instructions
 

Code :
  1. // .h
  2. class foo
  3. {
  4. typedef std::map<std::string, int> map_si;
  5. static map_si nomMap;
  6. };
  7. // .cc
  8. const foo::map_si::value_type nomMap_init[] = { foo::map_si::value_type("valeur", 3), ...};
  9. foo::map_si foo::nomMap(nomMap_init, nomMap_init + sizeof nomMap_init / sizeof *nomMap_init)

n°1375335
el muchach​o
Comfortably Numb
Posté le 26-05-2006 à 09:22:10  profilanswer
 

1.tu peux tiliser pushback.
2. à ma connaissance, on ne peut pas, car map n'est pas bijectif. Tu as besoin d'une autre structure.


Message édité par el muchacho le 26-05-2006 à 09:23:29

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1375886
oc_alex86
Posté le 27-05-2006 à 07:12:15  profilanswer
 

Merci pour vos réponses.
je n'ai pas très bien compris ta ligne 9 et 11. que veux-tu dire par value_type ? et à quoi sert la ligne 11 ?
 
Sinon, push_back ne marche pas car inexistant pour les map

n°1375896
skelter
Posté le 27-05-2006 à 09:14:37  profilanswer
 

foo::map_si::value_type est ici un alias de std:: pair<std::string, int> (voir doc), ton code est plus modulable ainsi
 
la ligne 11 c'est la construction de ta map a partir du tableau declaré a la ligne 9 et grace au constructeur template <class InputIterator> map(InputIterator f, InputIterator l) (voir doc)
 
la doc quoi
http://www.sgi.com/tech/stl/Map.html


Message édité par skelter le 27-05-2006 à 09:14:53
n°1375897
oc_alex86
Posté le 27-05-2006 à 09:20:27  profilanswer
 

ok merci
Je ne connaissais pas la doc. Ca m'a l'air super

n°1375950
el muchach​o
Comfortably Numb
Posté le 27-05-2006 à 12:35:18  profilanswer
 

Ouais voila. Tu fais pas comme moi en répondant nawak "de mémoire", tu lis le fuckin' manual. [:dawao]


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1376126
kirua_sama
Learn sciences with senses
Posté le 28-05-2006 à 03:18:40  profilanswer
 

Edit: Merci Skelter !


Message édité par kirua_sama le 29-11-2012 à 16:52:05
n°1376884
oc_alex86
Posté le 29-05-2006 à 17:49:26  profilanswer
 

c'est clair que pour faire de l'info il faut supporter l'anglais ^^


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [RESOLU] initialisation de maps

 

Sujets relatifs
[RESOLU] Traduction BBCode html[JS/DOM] Bug sous IE, l'image se s'affiche pas ! [RESOLU]
[Java] Problème échanges client-serveur (Résolu)[Résolu] Appel de destructeur après avoir utilisé une dll
Securisation d'un script de listage de fichiers [resolu][RÉSOLU] Nom de fonction non reconnu
[Oracle] Execute Immediate ne fait rien ... ?[résolu][RESOLU] Comment lancer excel en mode batch ?
[RESOLU] [VB] Appel d'une fonction sur sélection d'une case[résolu] SSL, Certificat, & bad_record_mac
Plus de sujets relatifs à : [RESOLU] initialisation de maps


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR