When this will be freed?
Andrea Fontana
nospam at example.com
Wed Apr 2 08:57:26 PDT 2014
On Wednesday, 2 April 2014 at 15:53:52 UTC, Jacob Carlborg wrote:
> On 2014-04-02 17:45, Andrea Fontana wrote:
>
>> auto example(char* test) { return toStringz(to!string(test) ~
>> " world!"); }
>>
>> When that return string will be freed?
>
> When there is no reference left to the string, the garbage
> collector is free to collect it when it chooses to.
>
That's expected.
>> What about:
>>
>> extern(C) auto example(....)
>
> Same as above, extern(C) does not change how memory is
> collected. If it is a C function, then it depends entirely on
> that particular function.
I mean: if it is an exported function (of a shared library) what
happens? There's no reference kept anywhere (in D). So if I'm
right it could be freed immediatly by GC. Right?
More information about the Digitalmars-d-learn
mailing list