move object from heap to stack
Namespace
rswhite4 at googlemail.com
Wed Sep 19 11:40:27 PDT 2012
On Wednesday, 19 September 2012 at 17:08:28 UTC, monarch_dodra
wrote:
> On Wednesday, 19 September 2012 at 14:16:31 UTC, Namespace
> wrote:
>> Thanks, I will use __traits(classInstanceSize, A);
>> But it does not work either.
>
> This is because classes are already pointers. when you write
> "&a", you are getting the address of pointer itself. So when
> you memcopy, don't use "&a", but use "cast(void*)a".
>
> What you were currently doing was memcopying the "pointer to a"
> into your chunk. From there, since you were casting to A*,
> everything worked and was legal, but you still only had 1 class
> intance. Your destroying that instance made your ap crash.
>
> this works:
> http://dpaste.dzfl.pl/8ba1f457
I forget this. Thank you!
IMO something like this should exist in phobos. A more flexible
version of scoped also.
More information about the Digitalmars-d-learn
mailing list