一部のC ++コンパイラーは、匿名の共用体と構造体を標準C ++の拡張として許可します。これは、時々非常に役立つ、ちょっとした構文上の砂糖です。
これが標準の一部にならないようにする根拠は何ですか?技術的な障害はありますか?哲学的なもの?それともそれを正当化する必要性が十分ではないのですか?
これが私が話していることのサンプルです:
struct vector3 {
union {
struct {
float x;
float y;
float z;
};
float v[3];
};
};
私のコンパイラはこれを受け入れますが、「無名の構造体/共用体」はC ++に対する非標準の拡張であることを警告しています。