To Walter, about char[] initialization by FF
Oskar Linde
oskar.lindeREM at OVEgmail.com
Wed Aug 2 00:06:59 PDT 2006
Andrew Fedoniouk wrote:
> "Unknown W. Brackets" <unknown at simplemachines.org> wrote in message
> news:eapdsg$qeo$1 at digitaldaemon.com...
>> I'm trying to understand why this 0 thing is such an issue. If your
>> second statement is valid, it makes the first moot - 0 or no 0. Why does
>> it matter, then?
>
> Declaration of char.init == 0 pretty much means that
> D has no strict requirement that char[] shall contain only UTF-8
> encoded sequences but any other encodings suitable for
> the application.
Why is this good?
> char.init == 0 will resolve situation we see in Phobos now.
> char[] de facto is used for other than utf-8 encodings.
You mean data with other encodings that still want to use the std.string
functions? I have written template versions that replaces (almost) all
std.string functions that do not rely on encoding.
> char.init == 0 tells everybody that char can also be used
> for representing unicode *code points* with asuumption
> that offset value (mapping on full Unicode set, aka codepage) is stored
> somewhere in application or well known to it.
Maybe it would tell people that. A good thing it isn't so then. Again,
why do you want to store non utf-8 data in a char[]?. What is wrong with
ubyte[] or a suitable typedef?
> char.init == 0 also highlights the fact that it is safe to
> use char[] as C string processing functions and passing them to non D
> modules and libraries.
> Is it UTF-8 encoded or not - does not matter - type is universal enough.
I can't see how that would make it considerably safer.
/Oskar
More information about the Digitalmars-d
mailing list