Compte tenu de ces structures sur 64 bits:alignement des données et problèmes d'héritage
struct base
{
long a;
};
struct derived : public base
{
long b;
char c;
};
je reçois une taille de 24 et un avertissement de remplissage, mais je ne comprends pas pourquoi. Pour moi, les données avec ce genre d'héritage sont alignés comme
a
b
c
Ainsi, un est aligné sur 8, b et c est trop char et est aligné sur 1. Alors, quel est le problème ici, pourquoi la taille est de 24?
Veuillez également indiquer le compilateur que vous utilisez et le message d'avertissement exact. –
que dit l'avertissement de remplissage? – jalf