On Sat, 28 Feb 2009 04:27:52 +0300, Jason House <[email protected]> 
wrote:

BCS Wrote:

Reply to tim,

> Theres nothing stopping you from having all your arrays static in D. I
> think your crazy :)
>

I think the thought is that arrays can have dynamic length but can't be changed
after allocation.

Right. Length is fixed until (re)allication.


starting with:

int[] arr = new int[15];

assigning to length

arr.length = 30;

would always become

auto tmp = new int[30];
tmp[0..min(arr.length,$)] = arr[0..min(tmp.length,$)];
arr = tmp;

Either that or a simple compile error...

It's also possible a middle ground where only const(T)[] is fixed length until (re)allocation. I'm hoping there will be good discussion on the pros and cons of alternatives.

I might be wrong, but it seems that arrays are always reallocating memory when 
resize. I might be wrong but that's the behaviour I discovered in a recent test.

Reply via email to