002
15.03.2006, 17:02 Uhr
ao
(Operator)
|
Das liegt am sog. "Alignment". Die Member von TEST grenzen nicht in jedem Fall unmittelbar aneinander, sondern der Compiler kann zwischen ihnen beliebig viel Platz lassen, z.B. um zu optimieren oder um Zugriffe überhaupt zu ermöglichen (manche CPUs können auf int- oder long-Variablen nur zugreifen, wenn diese auf geraden Speicheradressen liegen o.ä.).
Wieviel Platz freibleibt, ist abhängig von den Einstellungen des Compilers und vom Typ der Member, und ist in der Regel auch über Compiler-Optionen steuerbar. Daraus erklärt sich virtuals Aussage "nicht portabel".
Welchen Compiler benutzt du?
ao |