How are 2D static arrays allocated?
Saaa
empty at needmail.com
Tue Nov 4 08:41:33 PST 2008
>
> You can have a dynamic array that _points_ to the stack, but there is
> no general mechanism for allocating a dynamic array directly on the
> stack. You might be able to do something with alloca, but stack space
> is usually limited and you wouldn't be able to have very large arrays.
>
> Performance of dynamic arrays is the same no matter where their data
> is. Fixed-size 2D arrays are not faster _because_ they are on the
> stack, they just happen to be allocated on the stack. They are faster
> (usually) because they don't need two pointer dereferences. You can
> allocated a fixed-size 2D array on the heap (well.. inside a struct or
> class anyway) and it will be just as fast.
Ok, so when I want a multimillion array with speed I should use a static
array on the heap. That would be using new, right :)
More information about the Digitalmars-d-learn
mailing list