Необходимо перевести небольшую функцию из C# в C++
В коде С# есть переменная
Dictionary<string, string> rules
Этот словарь как-то заполняется, а потом выводится в файл через
foreach (string ruleId in rules.Keys)
И в файле все это располагается не в алфавитном порядке.
Если же я делаю std::map<std::string, std::string> и потом вывожу в файл через
for (std::map< std::string, std::string >::iterator ruleId = rules.begin(); ruleId != rules.end(); ++ruleId)
То, разумеется, все в алфавитном порядке. Почему Dictionary не сортирует? Или он сортирует? ТОгда почему в файле не отсортировано?
Здравствуйте, Stanislav V. Zudin, Вы писали:
SVZ>Потому что Dictionary — хеш таблица, а map — дерево.
SVZ>замени map на unordered_map.
А, ясно. Не знаю C# потому и лажанулся. Спасибо.
Здравствуйте, Varavva, Вы писали:
V>То, разумеется, все в алфавитном порядке. Почему Dictionary не сортирует? Или он сортирует? ТОгда почему в файле не отсортировано?
Сортирует
SortedDictionary.