сортировка в std :: map, где ключ - это std :: string

У меня есть std :: map mymap

Теперь, если я вставляю в карту такие значения, как:

std::map <string, string> mymap;
mymap["first"] = "hi";
mymap["third"] = "how r you";
mymap["second"] = "hello";

Теперь я хочу перебрать карту и распечатать значение в отсортированном (ключи ) способ:

map<string, string>::iterator itr;
for(itr = mymap.begin(); itr != mymap.end(); itr++)
{
   string newline = itr->second;
   cout << newline << endl;
}

Вывод должен быть:

hi 
hello 
how r you 

Я думал, что по умолчанию карта хранится в порядке сортировки ключей, но я получаю тот же порядок вывода, что и ввод. Нужно ли мне предоставлять для этого свою функцию сортировки или нужно что-то делать перед итерацией по карте?

17
задан juliomalegria 13 December 2011 в 14:28
поделиться