A debug class has started
H. S. Teoh
hsteoh at quickfur.ath.cx
Mon Dec 13 22:54:05 UTC 2021
On Mon, Dec 13, 2021 at 10:43:14PM +0000, forkit via Digitalmars-d-learn wrote:
> On Monday, 13 December 2021 at 21:13:25 UTC, H. S. Teoh wrote:
> >
> > What you should be doing is:
> >
> > return to!string(str[0 .. len]);
> >
> > Or just:
> >
> > return str[0 .. len].idup;
[...]
> oh.. so many different ways...(to both produce the same bug, and also
> to produce the correct output).
>
> ... it's a little mind boggling ;-)
[...]
It's very simple. In C, an array decays to a pure pointer. In D, an
array is a pointer + length pair. Given a D array, if you want a
pointer to its first element, you use .ptr. Given a D pointer, if you
want an array, you slice it with [0 .. length].
That's all there is to it.
T
--
Almost all proofs have bugs, but almost all theorems are true. -- Paul Pedersen
More information about the Digitalmars-d-learn
mailing list