structs and classes are "externally" exactly the same except for the default access specifiers.
Internally there is absolutely no reason to implement differently classes and structs, but compilers are allowed by the ANSI standard to do what they want internally.
A compiler can add big loops that do nothing in all class constructors and not add these big loops in struct constructors... That is legal, but of course it is really stupid, and it is absolutely sure that no compilers do that.

So, you must consider that classes and structs are the same, and if the compiler make a difference, than it is not your responsibility.

In fact, i see a point where a compiler may really treat differently structs and classes (but, i am sure that there is no compiler which acts like that):
The compiler may modify the declaration order of classes fields to have a better alignment (grouping 4-bytes fields at the start of the class, then 2-bytes fields, then 1-byte field).
And not modify this order for structs, to ensure that Win32 API is always correctly called, or any library written with another compiler.