Allocating memory within an oct-file might seem easy, as the C++ new/delete
operators can be used. However, in that case great care must be taken to avoid
memory leaks. The preferred manner in which to allocate memory for use locally
is to use the OCTAVE_LOCAL_BUFFER
macro. An example of its use is
OCTAVE_LOCAL_BUFFER (double, tmp, len)
that returns a pointer tmp
of type double *
of length len
.
In this case, Octave itself will worry about reference counting and variable scope and will properly free memory without programmer intervention.