Alcuni compilatori C ++ consentono unioni e strutture anonime come estensione del C ++ standard. È un po 'di zucchero sintattico che a volte è molto utile.
Qual è la logica che impedisce che ciò faccia parte dello standard? C'è un ostacolo tecnico? Uno filosofico? O semplicemente non abbastanza di un bisogno per giustificarlo?
Ecco un esempio di ciò di cui sto parlando:
struct vector3 {
union {
struct {
float x;
float y;
float z;
};
float v[3];
};
};
Il mio compilatore lo accetterà, ma avverte che "struct / union senza nome" è un'estensione non standard di C ++ .