J'étais en train de tester la taille des classes de base et des classes dérivées en C++.
class X {};
class Y : public virtual X {};
class Z : public virtual X {};
class A : public Y, public Z {};
La taille de chaque X, Y, Z, A est respectivement de 1, 8, 8, 12. Je ne parviens pas à comprendre cela. Je sais que la taille par défaut d'une classe vide est de 1. Donc je pourrais comprendre que la taille de X est de 1. Je sais que la taille de Y et Z ne sera pas de 1 car un pointeur virtuel y sera ajouté. Mais 8? Je ne comprends pas. Est-ce que quelqu'un peut expliquer ?