Destructing Member Objects
    Jarrett Billingsley 
    kb3ctd2 at yahoo.com
       
    Sun Apr  6 06:10:40 PDT 2008
    
    
  
"Brian White" <bcwhite at pobox.com> wrote in message 
news:ft9oil$j0a$1 at digitalmars.com...
>> class foo
>> {
>>   private ~this()
>>   {
>>   }
>>
>>   public kill()
>>   {
>>   // call any specific code you want here
>>   delete this;
>>   }
>> }
>>
>> Then use foo.kill() instead of delete foo. Ugly, but works, I think.
>
> I don't think it does work.  If you have a "scope" variable, for example, 
> the compiler won't call "kill" when deleting the object.
You'd have to do it yourself.
{
    auto f = new foo();
    scope(exit) f.kill();
    // ...
} 
    
    
More information about the Digitalmars-d-learn
mailing list