std::map Reihenfolge?
-
Hi
Ich habe eine std::map und weise nacheinander verschiedene Elemente zu.
Dann verwende ich den std::map<>::iterator um die Elemente einer Listbox hinzuzufügen.
Das Problem: Die Reihenfolge.
Egal wann ich directories["files"] = directory.native_directory_string(); aufrufe(ob vor oder nach den anderen Zuweisungen) Es ist immer unten.
Was muss ich tun, damit die Reihenfolge der Zuweisungsreihenfolge entspricht?
-
Hallo
Du weist schon was eine std::map macht? Sie sortiert die Einträge nach dem Key-Value! Wenn du einen Container willst der die Einträge einfach nacheinander aufnimmt dann nimm std::vector oder std::stack.
bis bald
akari
-
Ich will beides...^^ Ein Vektor kann ja nicht zu einem String ein boost::filesystem::path rausgeben.
-
Hallo
Beides geht nicht mit den Standard-Containern. std::map sortiert immer.
Du must einen vector verwenden und dort den gewünschten Eintrag manuell suchen.bis bald
akari
-
schade. Danke.