Treating the abusive unsigned syndrome

Sean Kelly sean at invisibleduck.org
Wed Nov 26 11:10:36 PST 2008


Don wrote:
> 
> Although it would be nice to have a type which was range-limited, 'uint' 
> doesn't do it. Instead, it guarantees the number is between 0 and 
> int.max*2+1 inclusive. Allowing mixed operations encourages programmers 
> to focus the benefit of 'the lower bound is zero!' while forgetting that 
> there is an enormous downside ('I'm saying that this could be larger 
> than int.max!')

This inspired me to think about where I use uint and I realized that I 
don't.  I use size_t for size/length representations (largely because 
sizes can theoretically be >2GB on a 32-bit system), and ubyte for 
bit-level stuff, but that's it.


Sean



More information about the Digitalmars-d mailing list