Newbie questions on memory allocation
bearophile
bearophileHUGS at lycos.com
Sat Jul 24 09:48:11 PDT 2010
Deokjae Lee:
> What's the meaning of the line A?
It creates on the stack a 2-word structure, puts unsigned 3 in one word and in the other word puts a pointer to a newly allocated area on the GC-managed heap, that can contain 3 integers (plus one bookkeeping byte), so this heap area is probably 4 words long or longer.
> Is the array allocated on heap? or stack?
GC heap.
> Is it dynamic or static?
Dynamic.
> I think the line B is not a good style in D,
There are many situations where you want to use heap allocated structs.
> Does the garbage collector concern the object constructed at line B?
The struct gets allocated on the heap managed by the GC.
> Is the line C safe?
Kind of. But not with future garbage collectors. So recently Andrei has deprecated the delete statement. Don't use it any more.
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list