【发布时间】:2014-09-12 22:39:43
【问题描述】:
有没有一种方便的方法可以在 C++11 foreach 循环中获取当前容器条目的索引,比如 python 中的enumerate:
for idx, obj in enumerate(container):
pass
我可以想象一个也可以返回索引或类似的迭代器。
当然我可以有一个计数器,但迭代器通常不保证它们在容器上的迭代顺序。
【问题讨论】:
-
不,但是将 boost.Range 的
zip和 boost 的counting_iterator一起使用并不难。 -
复制到某物,答案是自己数。
-
这听起来不错,但它只适用于顺序容器,不适用于关联容器。对于关联容器,您需要的是键,而不是索引。
-
@EdChum:关联容器的迭代器已经返回键和值。