Are D classes always garbage collected?
vladimir at thecybershadow.net
Wed Dec 21 21:01:53 PST 2011
On Thursday, 22 December 2011 at 04:15:25 UTC, Froglegs wrote:
>>> You can allocate classes anywhere, if you're OK with
>>> forfeiting safety guarantees. For example, see emplace in
> Hum calling emplace ending up calling this bit of code..
> T* emplace(T)(T* chunk)
> if (is(T == class))
> *chunk = null;
> return chunk;
> Which returned me a nice fat null pointer.. wth? Perhaps that
> should be a compile time error if you aren't supposed to use
Strange... I'm not sure what the deal is with that overload. I
meant the last one on the page (that takes a void).
> I tried placement new syntax but this tells me I need an
> allocator, whatever that means..
Note that this feature is on its way to be deprecated. emplace
and clear are the future-proof method.
More information about the Digitalmars-d-learn