Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!

Idiom #207 Allocate a list that is automatically deallocated

Allocate a list a containing n elements (n assumed to be too large for a stack) that is automatically deallocated when the program exits the scope it is declared in.

{
    my @a = (undef) x $n;
    # scope ends at closing brace
} 
  integer, dimension(:), allocatable :: a
  allocate (a(n))
a := make([]T, n)
var
  a: array of some_type;
...
  SetLength(a, n);
...
def func():
    a = [0] * n
    # local variable automatically deallocated at end of function
    return
a = Array.new(n)
let a = vec![0; n];

New implementation...
< >
tkoenig