1

有没有比做这样的事情更好的方法来迭代容器的索引

for (auto i : view::iota(0, vec.size())

理想情况下看起来就像这样view::something(vec)

我知道我可以编写自己的函数来执行此操作,但想知道此功能是否已经存在。我也知道能够做这样的事情

for (auto [idx, elm] : view::zip(view::indices, vec))

经过一些代码检查后,我意识到可以改写这个view::indices(vec.size()),但是即使默认使用它产生的indices结果,我宁愿保留.ptrdiff_tsize()size_tptrdiff_t

4

1 回答 1

0

如果您需要索引,那么您的第一个就可以了。

还有老的(但也不错)

for (auto i = 0; i < vec.size(); ++i)

如果您还需要这些元素,那么您的第二个更好。

于 2018-10-12T08:15:14.283 回答