¿se ordenan los mapas STL?¿Están C++ std :: map <string, string> ordenados?
Específicamente, necesito saber si se ordena std :: map. Entonces, si lo repito, se repetirá con la primera cadena de inserción primero.
¿Entonces los siguientes iterarán A, C y B constantemente?
std::map<string,string> str_map;
str_map.insert(std::make_pair("A","Data"));
str_map.insert(std::make_pair("C","Data"));
str_map.insert(std::make_pair("B","Data"));
Sí, puede pasar su propia función de comparación para que pueda ordenarla como desee. http://www.cplusplus.com/reference/stl/map/ – leetNightshade
CodingQuant: En realidad, su ejemplo no es muy bueno, ya que no distingue entre dos significados de "ordenados": orden de inserción y orden lexicográfico. std :: map conserva el orden * lexicográfico *, no el orden de inserción. –
@j_random_hacker: Para ser pedante, std :: map conserva el orden lexicográfico solo si su predicado de comparación se basa en una comparación lexicográfica. –