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çãoObservaçã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;
}
  

Consulte também

Referência

Uniões