У меня есть что-то вроде этого:
union DataXYZ
{
struct complex_t
{
float real, imag;
} complex;
struct vector_t
{
float magnitude, phase;
} vector;
};
У меня есть некоторые векторы из них, являющиеся памятью рабочего пространства общего назначения, где я использую поля соответственно после семантического контекста.
Я знаю, что это поведение undefined для чтения поля в объединении, когда последним активным членом было другое поле (и тип?). Означает ли это, когда типы и макет совпадают?
Я комментирую некоторые другие подобные вопросы, прося ссылки, которые гарантируют поведение, но ничего не появилось - отсюда этот вопрос.