0

重複の可能性:
stl::multimap - データのグループを取得するにはどうすればよいですか?

私がやりたいことは、マルチマップに格納されているすべてのキーの値のリストを計算することです。

4

3 に答える 3

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 に答える
2

使用しequal_range()ます。指定されたキーを持つアイテムの範囲を記述する反復子のペアを返します。

于 2012-06-23T09:35:48.277 に答える
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 に答える