I will use size_t, as it seems that is what you are meant to use. However, I think the first optimisation causes unnecessary code complexity for something that will be done by the compiler anyway.