0
如果我有两个保证具有完全相同的键的地图,如何有效地迭代这两个地图?使用相同的键有效地迭代多个地图
例如,说我有以下地图:
std::map<std::string, int> iMap;
std::map<std::string, std::vector<int> > vMap;
在某些时候,他们都结束了完全相同的一组按键。我现在需要根据相应的iMap
值更新vMap
的所有值。 ,想到的第一件事是什么这样的:
typedef map<string, int> map_t;
BOOST_FOREACH(map_t::value_type &p, iMap) {
vMap[p.first].push_back(p.second);
}
然而,似乎有点浪费,我们要查找的vMap[n]
每个值考虑,我们正在有效地通过按键会秩序。有什么方法可以利用这一点吗?
啊哈....当然。我现在很尴尬:/ –