Manual memory management in D2

Vladimir Panteleev vladimir at
Sun Jul 11 13:00:15 PDT 2010

On Sun, 11 Jul 2010 21:29:40 +0300, bearophile <bearophileHUGS at>  

> Simen kjaeraas:
>> Petr:
>>> What would happen if i skipped clear()?
>> Then your destructors wouldn't get called. takes a humble void
>> pointer, which knows little of destructors and other such fancy things.
>> If you feel unsure you will remember, feel free to use this function:
>> void destroy( T )( T obj ) if ( is( T == class ) ) {
>>      clear( obj );
>> obj );
>> }
> That can be a good thing to add to Phobos2 or the core. An overloaded  
> version with the same name for nonclasses can be added.

Can someone please explain to me how this is different and *better* than  
the allegedly now-deprecated delete statement?

Also, what happens if the object instance was allocated on the stack?

Best regards,
  Vladimir                            mailto:vladimir at

More information about the Digitalmars-d mailing list