Sizeof class instance

Jarrett Billingsley jarrett.billingsley at gmail.com
Sat Oct 3 15:50:29 PDT 2009


On Sat, Oct 3, 2009 at 5:50 PM, Justin Johansson <no at spam.com> wrote:
> How does one determine the sizeof (in bytes) of an instance of a class in D?
>
> .sizeof works as advertised for structs, but for reference types,
> .sizeof yields the sizeof the referencing variable (effectively same as size of a pointer)
> and not the size of the underlying instance.
>
> I did try scanning the NG and read spec_D1.00.pdf.  Perhaps I missed it in the latter.
>
> btw. I was poking under the hood of std.xml and though, wow, instances of Element
> class look humongous, and so I'm interested to how exactly how humongous.
>
> Thanks for all help.
> Justin

There's no way to get it at compile-time in D1. The best you can do is
Class.classinfo.init.length.

In D2, you can use __traits(classInstanceSize, Class).


More information about the Digitalmars-d-learn mailing list