auto classes and finalizers

Bruno Medeiros brunodomedeirosATgmail at SPAM.com
Thu Apr 13 10:00:01 PDT 2006


Don Clugston wrote:
> kris wrote:
>> Mike Capp wrote:
>>> In article <e1cq0t$1fm5$1 at digitaldaemon.com>, kris says...
>>>
>>>> I thought the idea was that classes with dtors are /intended/ to be 
>>>> explicitly cleaned up? That, implicit cleanup of resources (manana, 
>>>> some time) was actually a negative aspect? At least, that's what 
>>>> Mike was suggesting, and it seemed like a really good idea.
>>>
>>>
>>> Um... can we avoid using "implicit" and "explicit" in this context? 
>>> "Implicit"
>>> to me means "without writing any code", which covers both RAII and GC 
>>> cleanup
>>> (if you're lucky). "Explicit" to me means manual calls to dtors or 
>>> dispose(),
>>> which is the worst of all possible approaches.
>>
>> Yeah, I see the murk. What would you prefer to call them? The 
>> distinction being made there was whether the dtor was initiated via 
>> delete/auto, versus normal collection by the GC (where the latter was 
>> referred to as implicit).
> 
> deterministic and non-deterministic.

I don't like those terms. Although they are not false (because explicit 
destruction is deterministic, and implicit destruction in 
non-deterministic), the fact of whether the destructor was called 
deterministically or non-deterministically is not in itself relevant to 
this issue. What is relevant is the state of the object to be destroyed 
(in defined or undefined state).

So far, I'm keeping the terms "implicit" and "explicit", as they seems 
adequate to me, and I don't find at all that RAII collection is 
"implicit" or "without writing any code".


-- 
Bruno Medeiros - CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D



More information about the Digitalmars-d mailing list