move object from heap to stack

Simen Kjaeraas simen.kjaras at gmail.com
Wed Sep 19 07:04:07 PDT 2012


On Wed, 19 Sep 2012 15:45:21 +0200, Namespace <rswhite4 at googlemail.com>  
wrote:

> On Wednesday, 19 September 2012 at 13:32:42 UTC, Namespace wrote:
>> Is that possible?
>> I can initialize an object with scope or, in feature, with scoped,  
>> directly on the stack but is it also possible to move an existing  
>> object from the heap to the stack?
>
> I tried this:
> http://dpaste.dzfl.pl/2955ff41
> But as you can see in line 25/26, after I destroyed the heap object, the  
> stack object seems to be corrupted.

The problem here is that A.sizeof returns the size of the reference, not
the instance. Instead you should use __traits(classInstanceSize, A).

Also, do have a look at the internals of std.typecons.scoped, it likely
contains some good ideas.

-- 
Simen


More information about the Digitalmars-d-learn mailing list