将一组元素从一个多图存储到另一个多图
Store a group of elements form one multimap to another multimap
假设我有这个多图
std::multimap<char,int> mymm;
mymm.insert (std::make_pair('x',10));
mymm.insert (std::make_pair('y',20));
mymm.insert (std::make_pair('z',30));
mymm.insert (std::make_pair('z',40));
然后,我想在 mymm
中找到所有具有特定键 "z" 的元素,并将其存储在另一个多图 std::multimap<int,int> mymm2;
中,所以 mymm2
中的元素将是:
keys values
z 30
z 40
我怎么能做这样的事
提前致谢
嗯,the documentation 有我们需要的一切:
// Retrieve the range of values with key 'z'
auto r = mymm.equal_range('z');
// Construct the new multimap from that range
std::multimap<char,int> mymm2{r.first, r.second};
假设我有这个多图
std::multimap<char,int> mymm;
mymm.insert (std::make_pair('x',10));
mymm.insert (std::make_pair('y',20));
mymm.insert (std::make_pair('z',30));
mymm.insert (std::make_pair('z',40));
然后,我想在 mymm
中找到所有具有特定键 "z" 的元素,并将其存储在另一个多图 std::multimap<int,int> mymm2;
中,所以 mymm2
中的元素将是:
keys values
z 30
z 40
我怎么能做这样的事
提前致谢
嗯,the documentation 有我们需要的一切:
// Retrieve the range of values with key 'z'
auto r = mymm.equal_range('z');
// Construct the new multimap from that range
std::multimap<char,int> mymm2{r.first, r.second};