Есть ли лучший способ перебора индексов контейнера, чем делать что-то вроде этого
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_t
по умолчанию, использование size()
приводит к получению size_t
, и я бы предпочел оставить ptrdiff_t
.