Деякі компілятори C ++ дозволяють анонімні об'єднання та структури як розширення до стандартного C ++. Це трохи синтаксичного цукру, що іноді дуже корисно.
Яке обґрунтування перешкоджає цьому бути частиною стандарту? Чи існує технічна перешкода? Філософський? Або просто недостатньо потреби, щоб це виправдати?
Ось зразок того, про що я говорю:
struct vector3 {
union {
struct {
float x;
float y;
float z;
};
float v[3];
};
};
Мій компілятор прийме це, але попереджає, що "безіменний struct / union" - це нестандартне розширення для C ++ .