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