У меня есть очень тривиальная часть кода, которая в основном нуждается в обратном отсчете от определенного числа и использует этот счет как индекс для массива.в то время как большее отрицательное число не работает
auto bigSize = BigArray.size() - 1;
while(bigSize > -1) {
auto thing = arr[bigSize ];
bigSize--;
}
Однако код никогда не попадает ни в что внутри цикла. Я также попытался с for
цикла:
auto bigSize = BigArray.size() - 1;
for(int i = bigSize ; i >= 0 && i < bigSize ; --i) {
auto thing = arr[i];
}
Я чувствую, что я делаю что-то неправильное, но я не могу найти его.
делает 'BigArray.size()' возможно, возвращает 'unsigned'? Тогда 'bigSize' будет' unsigned' тоже, и он никогда не будет равен нулю (независимо от того, как часто вы его уменьшаете) – user463035818
Пожалуйста, отредактируйте свой вопрос, чтобы предоставить [mcve]. –
В цикле 'while' вы никогда не изменяете' bigSize', как бы состояние стало ложным? –