0

可能重复:
stl::multimap - 我如何获取数据组?

我想要做的是计算存储在多图中的每个键的值列表。

4

3 回答 3

2

使用equal_range();它返回一对迭代器,描述具有指定键的项目范围。

于 2012-06-23T09:35:48.277 回答
2

通用问题的通用答案是:

template<class KEY, class VALUE>
std::vector<VALUE> getValues(const std::multimap<KEY,VALUE>& aMap){
    std::vector<VALUE> values;
    for(multimap<KEY,VALUE>::const_iterator it=aMap.begin(), end=aMap.end();it!=end;++it){
        values.push_back((*it).second);
    }
    return values;
}
于 2012-06-23T10:53:12.237 回答
0

像这样的东西应该工作

multimap<string, int> m;
vector<int> values;

for (multimap<string, int>::iterator it = m.begin(); it != m.end(); ++it)
{
    values.push_back((*it).second);
}
于 2012-06-23T09:37:27.227 回答