Beberapa compiler C ++ mengizinkan unions dan struct anonim sebagai ekstensi untuk C ++ standar. Ini sedikit gula sintaksis yang terkadang sangat membantu.
Apa alasan yang mencegah ini menjadi bagian dari standar? Apakah ada hambatan teknis? Yang filosofis? Atau hanya tidak cukup kebutuhan untuk membenarkannya?
Inilah contoh dari apa yang saya bicarakan:
struct vector3 {
union {
struct {
float x;
float y;
float z;
};
float v[3];
};
};
Kompiler saya akan menerima ini, tetapi ia memperingatkan bahwa "struct / union tanpa nama" adalah ekstensi non-standar untuk C ++ .