dynamically allocating on the stack

Dmitry Olshansky dmitry.olsh at gmail.com
Sat Apr 21 12:08:09 UTC 2018


On Saturday, 21 April 2018 at 07:37:50 UTC, Mike Franklin wrote:
> Does D have some way to dynamically allocate on the stack?  I'm 
> looking for something roughly equivalent to the following C 
> code.
>
> int doSomething(size_t len)
> {
>     char stackBuffer[len + 1];
>     doSomethingElse(stackBuffer);
> }
>

Unbounded allocation on stack is kind of anti-pattern and a 
potential DoS vector.

A separate region allocator is exactly as fast and can easily 
survive across boundaries of function calls.

Also you probably want something like char[X] = void;
  for efficiency if allocating on stack.

> Thanks,
> Mike




More information about the Digitalmars-d-learn mailing list