Если вам нужен обратный индексный цикл, используйте operator -->
Когда вы пишете нормальный индексный цикл, вы пишете его с помощью 0
, size
и <
.
Когда вы пишете нормальный обратный индексный цикл, все становится немного странно: вам нужны size - 1
, >=
, 0
, и вы не можете использовать unsigned index, потому что unsigned i
всегда >= 0
, так что ваша проверка i >= 0
всегда возвращает true
, ваш цикл может работать вечно.
С ложным оператором «идет», вы можете использовать 0
, size
и >
для записи обратного индексного цикла, и не имеет значения, если i
подписано или не подписано:
for (auto i = a.size(); i --> 0; ) //or just i--, or i --> 1, i --> 10...
std::cout << i << ' ';