为multimap使用对象变量equal_range()

时间:2012-11-25 18:27:31

标签: c++ multimap

我使用对象作为多图的关键。该对象是我创建的自定义日期类。我只是想知道是否可以使用对象中找到的变量equal_range()?

这是检查我的自定义日期对象中的月份变量。

就是这样(伪代码)。

int january = 1;
foundValues = myMultimap.equal_range(january);

for (it=foundValues.first; it!=foundValues.second; ++it)
{
  cout << " " << (*it).second;
  cout << endl;
}

这是否会遍历每个关键对象并检查该对象内的变量是否等于“january”,然后返回与该关键对应的值?

谢谢。

1 个答案:

答案 0 :(得分:0)

关联容器的搜索成员仅对密钥起作用。 Theyexist因为他们利用容器的内部结构,保证在O(log(n))时间内找到值(或缺少值)(其中n是容器中元素的数量)。

如果要查找符合条件的序列中的所有元素,您可能希望std::copy_if()使用合适的谓词。