why is string not implicit convertable to const(char*) ?
akaz
nemo at utopia.com
Sat Jul 7 20:44:44 PDT 2012
> Well, then we're going to have to agree to disagree on that
> one. While some
> design decisions may have made more sense at the time they were
> made or the
> ultimate pros and cons may not have been clear at the time, I
> think that zero-
> terminated strings are one of the design decisions which was
> truly short-
> sighted and an enormous mistake all around, and all C/C++
> programmers have had
> to pay for it ever since.
>
> - Jonathan M Davis
I agree, despite the fact that it allows, in principle, creating
strings as long as desired with constant cost (just one byte is
sacrificed, instead of one, two, three, four etc. required to
represent the length). Besides, using zero-terminated strings did
not impose, in principle (forget about machine addressing issues)
no upper bound on the length of a string.
But, OTOH, it was also the only way to do it once the decision to
not incorporate length in arrays (basically, under the
assumption: an array is a pointer and nothing more) was made.
More information about the Digitalmars-d-learn
mailing list