Jonathan Blow demo #2

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Thu Dec 11 18:14:58 PST 2014


On 12/11/2014 1:49 PM, bearophile wrote:
> Walter Bright:
>
>>> struct Vec { float x = 1, y = 5, z = 9; }
>>>
>>> auto v = new Vec(void);
>>> auto av = new Vec[10] = void;
>>> auto av2 = new Vec[10] = Vec(0, 0, 0);
>>
>> D already does this.
>
> D doesn't do that, not even one of those three :-)

I beg to differ:


struct Vec { float x = 1, y = 5, z = 9; }

void main()
{
   {
     Vec v;
     assert(v.x == 1 && v.y == 5 && v.z == 9);
   }
   {
     auto v = new Vec();
     assert(v.x == 1 && v.y == 5 && v.z == 9);
   }
   {
     auto v = cast(Vec*)malloc(Vec.sizeof * 10)[0..10];
   }
   {
     auto v = new Vec[10];
     v[] = Vec(0,0,0);
     assert(v[1].x == 0 && v[1].y == 0 && v[1].z == 0);
   }
}


More information about the Digitalmars-d mailing list