Рассмотрим простое объединение с измененным «активным членом»: union U { int i; char *p; }; U u = {...
После просмотра CppCons Выдержит ли ваш код атаку зомби-указателей? Я немного озадачен временем...