Why is size_t unsigned?

John Colvin john.loughran.colvin at gmail.com
Mon Jul 22 13:54:25 PDT 2013


On Monday, 22 July 2013 at 16:29:39 UTC, Maxim Fomin wrote:
>> This also compiles, but I used a different aggregate, yet 
>> represents the same thing. Because it is implemented 
>> differently, I get a completely different result. Unless I'm 
>> mistaken, when a result depends on the implementation, and the 
>> implementation doesn't state what the result is, then that's 
>> what unspecified behavior is. (unspecified, not undefined).
>
> This is different because in 0..5 ref int maps directly to 
> variable modified, but in iota() it maps to value returned by 
> .front property function and since it doesn't return by ref, 
> refness is wiped out. Behavior is defined in both cases.

defined: yes
entirely dependant on implementation details: also yes

It's not a pattern to be relied on in the slightest.


More information about the Digitalmars-d-learn mailing list