Jan Engelhardt wrote:
So what type is the result of "unsigned int - size_t"?
size_t, because it is of higher rank.
How come it has higher rank?
I don't have the spec, maybe it is stated explicitly there, but this blog post (it's on the internet so it MUST be true!) outlines rules based on the standard, and doesn't mention either size_t type.
I have a feeling that size_t is not strictly defined, ie. that a programmer or even a compiler is free to choose any representation, as long as all memory addresses can be stored. In that case size_t rank can't really be determined.
We could always cast... :)
//Peter