Используя STL в С++, как мне применить функцию к каждому значению в std::map
, чтобы получить std::string
(печатное представление значения) и собрать std::string
(s) в коллекцию, которая отсортирована по ключу с плавающей запятой, который приходит из другой функции, примененной к каждому соответствующему значению на карте?
Другими словами, я хочу перебрать пары ключ-значение на карте и создать новый набор пар ключ-значение, где новый ключ и значение являются функцией старого значения.
double getNewKey(origValue value);
std::string getNewValue(origValue value);
// Or is it better to map both at once in a pair?
std::pair<double, std::string> getNewPair(origValue value);
std::map<origKey, origValue> origMap;
// Perform some transformation on each value of origMap to get a new map:
std::map<double, std::string> transformedMap =
/* What goes here to use getNewKey() and getNewValue() or use getNewPair()? */
;
Но, пожалуйста, без использования С++ 11.
std::transform
иstd::back_inserter
- person David Rodríguez - dribeas   schedule 03.08.2012std::inserter
, если вывод также является картой - person Useless   schedule 03.08.2012