packing - Why doesn't C++ make the structure tighter? -
packing - Why doesn't C++ make the structure tighter? -
for example, have class
,
and according testing program, a
d
built 1 after another, like
-
means unused.
why not c++ create tighter, like
ac--dddd bbbbbbbb
class , struct members required standard stored in memory in same order in declared. in example, wouldn't possible d
appear before b
.
also, architectures prefer multi-byte types aligned on 4- or 8-byte boundaries. compiler can leave empty padding bytes between class members.
you can minimize padding reordering members yourself, in increasing or decreasing size order. or compiler might have #pragma pack
alternative or similar, seek minimize padding @ possible expense of performance , code size. read docs compiler.
c++ packing
Comments
Post a Comment