size_t
foo = (size_t)-1;
size_t foo = -(size_t)1;
size_t foo =
(size_t)(-1);
Why bother? Won't:
size_t foo = ~0UL;
do (~0ULL for C99)?
Only if size_t is no larger than unsigned long int (unsigned long long
int for the ULL version). I don't think that's guaranteed.
Mouse