Mainly just the size and alignment. If you make the structure oversized, and with strict alignment, it can be future proofed. Old binary clients will provide a structure big enough and aligned enough for the new version.
The dynamic constructor API can allocate the structure exactly sized without the padding.
The dynamic constructor API can allocate the structure exactly sized without the padding.