Existem garantias para uniões que contêm um tipo de quebra automática e o próprio tipo?

Posso colocar umT e um embrulhadoT em umunion e inspecioná-los como eu gosto?

union Example {
    T value;
    struct Wrapped { 
       T wrapped;
    } wrapper;
};
// for simplicity T = int

Example ex;
ex.value = 12;
cout << ex.wrapper.wrapped; // ?

Os padrões C ++ 11 garantem apenas uma inspeção salva da sequência inicial comum, masvalue não é umstruct. Euacho a resposta énão, Desde atipos embrulhados nem são garantidos como compatíveis com a memória de seus pares não embrulhados eacessar membros inativos é bem definido apenas em seqüências iniciais comuns.

questionAnswers(3)

yourAnswerToTheQuestion