一些 C + + 编译器允许匿名联合和结构作为标准 C + + 的扩展。这是一点句法糖,有时非常有帮助。
是什么原理阻止了这成为标准的一部分?有技术障碍吗?哲学上的?或者只是没有足够的必要去证明它?
下面是我所说的一个例子:
struct vector3 {
union {
struct {
float x;
float y;
float z;
};
float v[3];
};
};
我的编译器会接受这个,但它会警告 “无名 struct/union”是 C + + 的非标准扩展。