Address of an array
David via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Oct 27 10:03:06 PDT 2016
> A dynamic array looks something kind of like this:
>
> struct DynamicArray(T)
> {
> size_t length;
> T* ptr;
> }
>
> So, if you take the address of a dynamic array, you're
> basically taking the address of a struct on the stack, whereas
> the address in ptr is the address in memory where the data is
> (be it GC-allocated memory, malloc-ed memory, or a static array
> on the stack somewhere).
>
> Similarly, if you have a class reference, and you take its
> address, you're taking the address of the reference, not the
> class object that it points to. e.g.
>
> class MyClass
> {
> string foo;
> }
>
> MyClass mc;
> auto addr = &mc;
>
> addr is the address of mc on the stack, whereas mc itself is
> null.
>
> - Jonathan M Davis
Many thanks for your speedy and clear answer Jonathan! That makes
even sense to me :-)
More information about the Digitalmars-d-learn
mailing list