More on C++ stack arrays

Walter Bright newshound2 at digitalmars.com
Sun Oct 20 09:33:36 PDT 2013


On 10/20/2013 7:25 AM, bearophile wrote:
> More discussions about variable-sized stack-allocated arrays in C++, it seems
> there is no yet a consensus:
>
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3810.pdf
>
> I'd like variable-sized stack-allocated arrays in D.

They're far more trouble than they're worth.

Just use:

     auto a = new T[n];

Stack allocated arrays are far more trouble than they're worth. But what about 
efficiency? Here's what I often do something along the lines of:

     T[10] tmp;
     T[] a;
     if (n <= 10)
	a = tmp[0..n];
     else
	a = new T[n];
     scope (exit) if (a != tmp) delete a;

The size of the static array is selected so the dynamic allocation is almost 
never necessary.



More information about the Digitalmars-d mailing list