Resizing array of classes

m0rph m0rph.mailbox at gmail.com
Fri Oct 19 02:09:42 PDT 2012


Suppose I have a dynamic array of classes, something like:

class Foo {
     int value;
}

Foo[] a;

Now I want to resize it and initialize new items with default 
values, so I do following:

a.length = 10;
a[0].value = 1;

And by executing the last line of code I've got a segmentation 
fault. Apparently a.length = 10 resizes array and creates 10 
references to Foo, but objects of Foo were not created. Do I need 
to manually iterate over new items of the array and explicitly 
call a[i] = new Foo, or there is a better (automatic) way?



More information about the Digitalmars-d-learn mailing list