Have you ever done a sizeof operator of an object? This number should differ from c to c++. Offsetof is offset of where it starts. If I remember all constructors and destructors are only are there by default, however they are at the end class/struct. for example do offset(A, &foo); if I remember how to do that correctly. It is in the local scope of A so it should be far from the three variables.