.init property for char[] type

Justin Johansson procode at adam-dott-com.au
Tue Sep 22 15:08:24 PDT 2009


Andrei Alexandrescu Wrote:

> Justin Johansson wrote:
> > Jeremie Pelletier Wrote:
> >> Besides, if you initialize character 
> >> arrays to "", what do you initialize other arrays to, and other 
> >> reference types to? It just wouldn't be consistent.
> > 
> > Consistency.  Since when is that an argument?
> > 
> > Just to be a PITA, pick the inconsistent row in the table below (from spec_D1.00.pdf).
> > The row ordering of the the table has been shuffled just to make it a bit more difficult to spot :-)
> > 
> > short.init    0
> > int.init        0
> > bool.init     false
> > byte.init     0
> > double.init  double.nan
> > long.init     0L
> > 
> 
> You forgot
> 
> char.init 0xFF
> wchar.init 0xFFFF
> dchar.init 0xFFFFFFFF
> 
> 
> Andrei

Shhh; don't tell anybody; I left those out of the quiz to weigh in favour of zero bit pattern init values.
(This trick, i.e. omitting information, is one I learned from the Ministries of Statistics and (un)Employment.)

Seriously though, I imagine the D design choices to be influenced by the desire to propagate NaN and invalid UTF in their respective cases so as to detect uninitialized data errors.  Hmm, guess one could argue the init issue for eons.

-- Justin




More information about the Digitalmars-d mailing list