std::map Schlüssel ändern
-
Hallo
Ist es möglich in einer std::map bei einem Eintrag den Schlüssel zu ändern. Der Schlüssel ist ein CString. Anfänglich ist der Name noch nicht bekannt. Somit trage ich als Schlüssel "Unknown" ein. Später suche ich den Eintrag "Unknwon" und möchte diesen ersetzen durch "Name1". Geht das?
-
Natürlich
it = einemap.find ("Unknown"); if (it != einemap.end()) it->second = "Name1";
-
it = einemap.find ("Unknown"); if (it != einemap.end()) it->second = "Name1";So aber nicht. Ich will nicht den Eintrag ändern. Ich will den Schlüssel ändern. Also eigentlich so it->first = "Name1". Aber das geht nicht. Sonst hätte ich ja nicht gefragt.
-
Du kannst einen Schlüssel nicht ändern.
Der Weg führt über entfernen, neu einfügen.Simon
-
Alles klar. Danke