访问多图值

时间:2013-02-27 07:22:51

标签: c++ stl stdmap

假设我创建了一个多图,为

std::multimap<int, string> mm;
mm[1] = "name1";
mm[1] = "name2";

mm[2] = "name3"
mm[2] = "name4"

这里我确信每个键都有两个值,值的排序很重要,因为name1首先为mm [1],而name2为mm [1]。

任何人都可以建议在不使用计数的情况下访问mm值的方法,例如mm [1] {first value}。

1 个答案:

答案 0 :(得分:1)

auto range = mm.equal_range(1);
std::for_each(range.first, range.second,
[](const std::pair<const int, std::string>& p)
{
   std::cout << p.second << std::endl;
});

只是更正:multimap没有operator []。请改用insert