在 C++ 中使用 STL,我将如何将函数应用于 a 中的每个值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()? */
;
但是,请不要使用 C++11。