私がやりたいことは、マルチマップに格納されているすべてのキーの値のリストを計算することです。
6460 次
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 に答える