Initialize class at given location

Brother Bill brotherbill at mail.com
Fri Nov 28 19:32:17 UTC 2025


On Friday, 28 November 2025 at 18:42:44 UTC, drug007 wrote:
> On 28.11.2025 21:14, tzsz wrote:
> In C++ it is called placement new. In D you should emplace 
> class:
>

This is quite helpful.  Could you provide another toy example 
where we have abstract Vehicle class, then effective Car class 
derived from Vehicle, then Toyota class derived from Car class.  
The Toyota class needs to call Car constructor, which may need to 
call Vehicle constructor, then complete its own constructor.
Vehicle class has member of int speed (in Miles per hour), which 
will be used in the example.  All classes have explicit 
constructors and explicit destructors.

This example would complete the understanding of using emplace 
for me.
Working examples that can be reproduced are the best teachers.

It is my understanding that using emplace as shown will make this 
class pointer outside the scope of the GC.

Avoiding GC seems to be popular with Zig, Rust and other 
languages.
It seems that D can play this game too.


More information about the Digitalmars-d-learn mailing list