On Monday, 3 June 2019 at 07:13:44 UTC, Rnd wrote:


I know 'new' is not needed to create instances of structs but can one use 'new'?

Yes. It can be used with any value type to allocate a block of memory on the GC heap and return a pointer to that memory:

struct Foo { ... }
Foo* f = new Foo;

int* i = new int;



If yes, when should one use 'new'?

Whenever you need to allocate something from the GC heap. In my experience, it's rare to need it with value types in D. I tend to use it primarily with classes and arrays.


Reply via email to