Interesting GCC extensions
Adam D. Ruppe
destructionator at gmail.com
Mon Sep 28 13:52:10 PDT 2009
On Mon, Sep 28, 2009 at 03:45:16PM -0400, bearophile wrote:
> Adam D. Ruppe:
> > > Triple points can be used for initializations too:
> > > int widths[] = { [0 ... 9] = 1, [10 ... 99] = 2, [100] = 3 };
> >
> > D's slicing can already do this I believe.
>
> How?
Trying it, I see it doesn't actually work in initialization, but you
can do it after the fact easily enough:
int[101] a;
a[0..9] = 1;
a[10..99] = 2;
a[100] = 3;
Compiles fine on D2 and D1, and it uses memset() to set the array. Not
quite the same, but pretty close.
--
Adam D. Ruppe
http://arsdnet.net
More information about the Digitalmars-d
mailing list