将一组元素从一个多图存储到另一个多图

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};