Какой «правильный» способ написать убывающий цикл со значением size_t и границей условие. Пример неправильной реализации:
for (size_t elemNum = listSize-1; elemNum >= 0; --elemNum) { /* ... */ }
Когда он достигает нуля, он переходит к максимальному значению, а не действует как граничное условие. Повторение цикла в обратном порядке необходимо. Похоже на проблему, которая имеет стандартное решение де-факто, но я не могу найти, что это такое.