deprecated delete and manual memory management

Steven Schveighoffer schveiguy at yahoo.com
Tue Apr 26 10:59:17 PDT 2011


On Tue, 26 Apr 2011 13:36:37 -0400, Benjamin Thaut  
<code at benjamin-thaut.de> wrote:

> I've been reading through various delete topics in the past hour, but  
> couldn't find any statement on how manual memory management would look,  
> if the delete operator is deprecated. Something like the following seems  
> really odd:
>
> class foo {
> 	public new(size_t sz){ //language support
> 		return malloc(sz);
> 	}
>
> 	public void Delete(){ // no language support ??
> 		this.__dtor();
> 		free(this);
> 	}
> }
>
> auto fooInst = new foo(); //language support
> fooInst.Delete(); //no language support ??

IIUC, the custom allocator will be deprecated as well.

What I think you need to use instead is emplace (a phobos function, not  
sure where it is), clear, and GC.free.

Andrei hinted at a not-yet-written drop-in replacement for delete, but I'm  
not sure how that looks.

-Steve


More information about the Digitalmars-d mailing list