create and initialise array
Mike Parker
aldacron at gmail.com
Sun Sep 20 03:26:48 UTC 2020
On Saturday, 19 September 2020 at 21:53:34 UTC, mw wrote:
> On Thursday, 20 June 2019 at 07:57:25 UTC, KnightMare wrote:
>>
>> imo NaN is useless, weird and unusual coz integrals and
>> pointers are "all bits zeroes" but float and chars are "all
>> bits ones". WTF? its strange that bool.init is false in such
>> case.
>> .init = "all zeroes" can be faster initialize any block of
>> memory.
>
>
> I have the same question, why float/double are init to NaN,
> instead of 0? as other post-C++ language does? e.g Java, C# ...
>
> What's the reason for this design decision?
The default init values in D are intended to stand out if you're
looking at a printf dump or a debugger. NaN for float double, and
invalid UTF values for char/wchar/dchar were intentionally
chosen. For the integrals, there are no invalid values, so we're
stuck with 0.
More information about the Digitalmars-d-learn
mailing list