Uniões anônimos
Uniões anônimos são uniões declarados sem um nome da classe ou Declarador-list.
union { member-list }
Comentários
Tais declarações de união não declarar tipos — eles declararem objetos.Os nomes declarados na união anônima não podem entrar em conflito com outros nomes declarados no mesmo escopo.
Em C, união anônima pode ter uma marca; ele não pode ter declaradores.
Nomes declarados na união anônima são usadas diretamente, como as variáveis de não-membro.
Com as restrições listadas na Dados de membro de união, uniões anônimos estão sujeitos a restrições adicionais:
Eles também devem ser declarados como estático se declaradas no escopo do arquivo.Se a declarado em um escopo local, eles devem ser estático ou automático.
Elas podem ter somente membros públicos; membros particulares e protegidos em uniões anônimos geram erros.
Eles não podem ter membros de função.
Observação Simplesmente omitindo o nome da classe parte da sintaxe não faz uma união união anônima.Para uma união qualificar como união anônima, a declaração não deve declarar um objeto.
Exemplo
// anonymous_unions.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main() {
union {
int d;
char *f;
};
d = 4;
cout << d << endl;
f = "inside of union";
cout << f << endl;
}