Static Constructors

Saaa empty at needmail.com
Sat Oct 4 08:49:54 PDT 2008


Thanks, from this I'd rather delete them manually :)

>
> The GC deletes an object (usually, but sometimes it doesn't do it because 
> it's not a precise GC) when there are no references to/from it.
>
> So if you keep it just inside an array, and it has no inbound references, 
> and you remove it somehow (for example overwriting it with the last item 
> of the array and then reducing the length of the array by 1), the GC loses 
> the only reference to that objects, and deallocates it.
>
> Note the same thing happens in most languages/systems that have a GC.
>
> If your object manages some other resources beside its memory, for example 
> an open file, you have to close it inside the destructor of your object. 
> If the not precise GC keeps a spurious (wrong) reference to your object 
> (because somewhere an int value looks like a pointer to the object memory 
> block), then you are in troubles...
>
> Bye,
> bearophile 




More information about the Digitalmars-d-learn mailing list