As title: is size_t always unsigned, i.e. for size_t x, is x always >= 0 ?
size_t x
x
>= 0
Yes, size_t is guaranteed to be an unsigned type.