【发布时间】:2021-11-19 10:28:09
【问题描述】:
我只想检索多图的第一个键。我已经通过迭代多图来实现它,获取第一个键然后中断。不过应该有更好的方法,但是我没找到。
int store_key;
std::multimap<int, int> example_map; // then something in it..
for (auto key : example_map)
{
store_key = key;
break;
}
这解决了问题,但我正在寻找另一种解决方案。
【问题讨论】:
-
example_map.begin()->first?!? -
顺便说一句,当
example_map为空时,您需要考虑如何处理这种情况。 -
您的
store_key不仅仅是关键,而是std::pair<const Key, mapped_type> -
顺便说一句,这是好的抽象的不好的一面,比如基于范围的 for 循环,很明显的事情被隐藏了。我建议你用一个普通的基于迭代器的循环来编写你的循环,你会注意到如何摆脱循环