Returning dynamic array from the function?
rikki cattermole
rikki at cattermole.co.nz
Sat Sep 8 09:36:21 UTC 2018
On 08/09/2018 9:34 PM, SuperPrower wrote:
> I have a function that produces dynamic array of strings. I would like
> to return this array from this function. I understand that dynamic
> arrays are of reference type, and thus if I try to return array
> variable, I will actually return a pointer to the first element of the
> array on the heap. Problem is, when I return dynamic array and try to
> print it outside of the function, I see garbage in a first few elements.
>
> My humble experience with languages like C++ doesn't really help with
> understanding how Garbage Collector (if it's because of it, because if I
> understand correctly, I can imagine memory being de-allocated because we
> get out of scope of local variable that points to the array, thus there
> are no more pointers to this memory, thus it gets de-allocated, but we
> still return reference to this memory, so GC shouldn't really free it?)
> can cause this - can anyone please explain me what's exactly going on
> and what would be the proper way to return dynamic array from the
> function? Thanks in advance.
We're going to need to see a minified version of the code to see what
you're doing.
More information about the Digitalmars-d-learn
mailing list