Freeing of memory (garbage collection)
Jarrett Billingsley
jarrett.billingsley at gmail.com
Tue Dec 9 06:43:25 PST 2008
On Tue, Dec 9, 2008 at 9:42 AM, Jarrett Billingsley
<jarrett.billingsley at gmail.com> wrote:
> On Tue, Dec 9, 2008 at 9:16 AM, Daniel White <twinbee42 at skytopia.com> wrote:
>> Thanks for that reply. I wonder if extending automatic garbage
>> collection for malloced memory would be a good idea...
>
> That would be a bad idea. Then how would you do manual memory
> management in the few cases that absolutely require it?
>
>>> Only stuff like dynamic
>>> arrays, AAs and new'ed stuff gets cleaned up by the GC.
>>
>> For the above types of allocating memory, is there a way to 'lock' a
>> variable and say to D, "don't free this memory until I allow you to",
>> and also for it to allow you to free it manually when/if need be?
>
> Yes, you can use std.gc.addRoot in Phobos (in D1), and GC.addRoot if
> you're using Tango (import tango.core.Memory) or D2 (import
> core.memory).
Oh yeah, and you can use 'delete' on arrays, classes, and structs
allocated on the heap, but oddly not with AAs.
More information about the Digitalmars-d-learn
mailing list