Lavoravo con GTK in uno dei miei progetti e ho notato che la libreria supporta l'ereditarietà. Come puoi digitare, puoi lanciare una struttura figlia nella sua struttura principale e viceversa. Altro che GTK non l'ho mai visto usato (in modo impeccabile):
struct parent p = {5};
struct child c;
c = (struct child)p;
c.b = 1;
L'uso della struttura padre come primo elemento lo fa? Come questo sembrerebbe molto più pulito. Ma il padding e l'allineamento potrebbero interferire?
struct parent { int a; }
struct child { struct parent p; int b; }
Oppure riscrive tutti i dati principali?
struct parent { int a; }
struct child { int a; int b; }