Ich habe diesesWarum ist die Größe einer Klasse mit nur einem char 8, wenn es virtuell erbt?
class Empty {}; // Empty class
class Derived : virtual public Empty
{
char c;
};
Auf meinem Rechner sizeof(Derived);
ist 8
, warum? Soll es nicht 1
sein, weil es nur 1 char
drin hat? Wenn ich die virtuelle Vererbung entferne, lautet sizeof(Derived);
1
.
Uh der Compiler tut es. Kannst du die Frage klären? – Flexo
Was ist das Ergebnis und was erwarten Sie und warum? Versuchen Sie zumindest, diese Frage selbst zu lösen! –
hast du irgendeine [Dokumentation] (http://en.cppreference.com/w/cpp/language/sizeof) gelesen? Was ist unklar? – Default