www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - What's in a empty class?

reply TheFlyingFiddle <kurtyan student.chalmers.se> writes:
With this code:

class A { }
pragma(msg, __traits(classInstanceSize, A));

I get the output 8 (32-bit).
I can account for the first thing a vtable. But that
should only cover 4bytes. What's in the other 4bytes?
Oct 27 2015
parent reply Adam D. Ruppe <destructionator gmail.com> writes:
On Tuesday, 27 October 2015 at 21:23:45 UTC, TheFlyingFiddle 
wrote:
 I can account for the first thing a vtable. But that
 should only cover 4bytes. What's in the other 4bytes?
The monitor used for `synchronized`. (yes, this is something a lot of people want to remove as it is rarely all that useful yet you pay the price in all D class objects)
Oct 27 2015
parent TheFlyingFiddle <kurtyan student.chalmers.se> writes:
On Tuesday, 27 October 2015 at 21:28:31 UTC, Adam D. Ruppe wrote:
 On Tuesday, 27 October 2015 at 21:23:45 UTC, TheFlyingFiddle 
 wrote:
 I can account for the first thing a vtable. But that
 should only cover 4bytes. What's in the other 4bytes?
The monitor used for `synchronized`. (yes, this is something a lot of people want to remove as it is rarely all that useful yet you pay the price in all D class objects)
I see Thanks.
Oct 27 2015