一些 C++ 编译器允许匿名联合和结构作为标准 C++ 的扩展。这是一些语法糖,偶尔会很有帮助。
阻止它成为标准一部分的理由是什么?有技术障碍吗?一个哲学的?或者只是不足以证明它的合理性?
这是我正在谈论的示例:
struct vector3 {
union {
struct {
float x;
float y;
float z;
};
float v[3];
};
};
我的编译器会接受这一点,但它警告说“无名结构/联合”是 C++ 的非标准扩展。