October 27, 2003 Dynamic Arrays | ||||
---|---|---|---|---|
| ||||
Can someone explain me how dynamic arrays work in D? How are they implemented in memory? is it like this: struct array { type *data; uint size; } or like this struct array // if size is 8 size of allocated memory is 4+8*4 { uint size; uint item[0]; } Is int[] a reference or struct. How then this code works? int[] a; // if a is reference then a is null a.length = 2; // this calls metod for null reference. |
October 27, 2003 Re: Dynamic Arrays | ||||
---|---|---|---|---|
| ||||
Posted in reply to elud | <elud@verat.net> wrote in message news:bnjhs6$2e6q$1@digitaldaemon.com... > Can someone explain me how dynamic arrays work in D? > How are they implemented in memory? > is it like this: > struct array > { > type *data; > uint size; > } It's struct array { int length; type *data; } > How then this code works? > int[] a; // if a is reference then a is null > a.length = 2; // this calls metod for null reference. Assigning to a.length calls a magic library function. I suggest you try writing snippets of code you're curious about, and run obj2asm on it. I think that will make things a lot clearer. |
Copyright © 1999-2021 by the D Language Foundation