Problèmes avec map et chaînes en tant que clé
Bonjour,
J'ai créé un map avec comme clé un const char*.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| std::map<const char*, int> pouet;
map["foo1"] = 1;
map["foo2"] = 2;
const char* cle1 = "foo1";
std::string cle2 = "foo2";
std::map<const char*, int>::const_iterator
iterator1(pouet.find(cle)),
iterator2(pouet.end());
if (mit != end)
cout << "Clé trouvée." << endl; |
Si, dans l'argument du find, je mets cle1, l'élément est trouvé.
Si je mets cle2.c_str(), l'élément n'est pas trouvé.
Pourquoi ? Parce qu'on compare dans le map des pointeurs ?
Merci.