Наименование кажется лучшим.В C ++ разрешены анонимные объединения, но не структуры.
union
{
struct foo
{
F32 _11, _12, _13, _14;
F32 _21, _22, _23, _24;
F32 _31, _32, _33, _34;
F32 _41, _42, _43, _44;
} bar;
F32 _m[16];
};
Вы можете использовать ссылки / макросы, чтобы разрешить доступ без bar
.
F32& _11 = bar._11;
F32& _12 = bar._12;
По сути то же самое, что и анонимная структура,Я не очень рекомендую это все же.Используйте bar._11
, если это возможно.
Частный / публичный (sorta):
struct mat
{
struct foo
{
friend class mat;
private:
F32 _11, _12, _13, _14;
F32 _21, _22, _23, _24;
F32 _31, _32, _33, _34;
F32 _41, _42, _43, _44;
};
union
{
foo bar;
F32 _m[16];
};
};