GCC Undefined Behavior Sanitizer
    monarch_dodra via Digitalmars-d 
    digitalmars-d at puremagic.com
       
    Sun Oct 19 03:22:34 PDT 2014
    
    
  
On Sunday, 19 October 2014 at 09:56:44 UTC, Ola Fosheim Grøstad 
wrote:
> In C++ you should default to int and avoid uint unless you do 
> bit manipulation according to the C++ designers.
>
> There are three reasons: speed, portability to new hardware and 
> correctness.
Speed: How so?
Portability: One issue to keep in mind is that C works on *tons* 
of hardware. C allows hardware to follow either two's complement, 
or one's complement. This means that, at best, signed overflow 
can be implementation defined, but not defined by spec. 
Unfortunately, it appears C decided to outright go the undefined 
way.
Correctness: IMO, I'm not even sure. Yeah, use int for numbers, 
but stick to size_t for indexing. I've seen too many bugs on x64 
software when data becomes larger than 4G...
    
    
More information about the Digitalmars-d
mailing list