As title: is size_t always unsigned, i.e. for size_t x, is x always >= 0 ?
size_t x
x
>= 0
Oh, this is just terrible:
vector arr; Fill(arr); size_t size = arr.size(); for(size_t i = 1; i < size - 1; ++i) { auto obj = arr[i]; auto next = arr[i+1]; }
Now contemplate the use case where arr is empty.