On Wednesday, January 24, 2018 17:50:35 Ali Çehreli via Digitalmars-d-learn wrote: > On 01/24/2018 05:43 PM, Jonathan M Davis wrote: > > On Thursday, January 25, 2018 00:10:32 Nicholas Wilson via > > Digitalmars-d- > > > > learn wrote: > >> One pointer for the vtbl, one for the monitor, not sure what the > >> other one is. > > > > The TypeInfo maybe? I'm not sure where that lives. > > > > - Jonathan M Davis > > Nested classes have that third pointer: > > > class A { > } > static assert(__traits(classInstanceSize, A) == 2 * (void*).sizeof); > > void main() { > class B { > } > static assert(__traits(classInstanceSize, B) == 3 * (void*).sizeof); > } > > Are there other cases?
Well, a class nested inside another class would, but that's just another type of nested class. If it's not nested, it won't have a pointer to any kind of outer scope though. - Jonathan M Davis