Bonjour, derriere un titre aussi abscons vous devez vous demander ce que je veux faire.


version courte :
J'ai un enum
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
static enum StringValue { evVal1=1,
                          evVal2,
                          evXYZ,
                          evcoincoin,
                          evbidule };
J'ai aussi des des strings (pour l'instant c'est dans un tableau...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
std::string trucs[5]={"val1","autre","xyz","panpan","pouet"};
Et j'aimerai bien faire un "map" de ces chaines avec mon enum, sans avoir a me pallucher à la main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
s_mapStringValues[trucs[2]] = evXYZ;
Voilà... si vous avez une idée. (pour l'instant il n'y a que 5 val dans mon example, mais il y en aura plus)

Version longue :

Pour ceux que ca interresse, je suis en train de chercher comment faire des switch avec des std::string.
J'ai trouvé ce lien qui est pas mal : http://www.codeguru.com/Cpp/Cpp/cpp_...icle.php/c4067
Mais je n'aime pas du tout comment ils initialisent leur map, et c'est pour cela que je cherche une manière moins bourrin pour initialiser le map.
sinon le fonctionnement à l'air simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
static std::map<std::string, StringValue> s_mapStringValues;
// initialisation...
s_mapStringValues[trucs[2]] = evXYZ // etc..
switch(s_mapStringValues[une_string])
 {
   case evXYZ : // et voilà...
   break;
 }
Merci.