Unions anonymes

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Unions - Index

Une union sans sélecteur qui n'est pas utilisée pour déclarer un objet nommé (ou autre type) est appelée union anonyme. Elle adopte la forme suivante :

union { member_list };

Il est possible d'accéder directement à ses membres dans la portée de déclaration de l'union, sans utiliser la syntaxe x.y ni p->y.

Les unions anonymes peuvent être globales, imbriquées ou non-imbriquées. Le C ANSI n'autorise jamais les unions anonymes. Le C++ ANSI autorise les trois types d'unions anonymes.


Unions anonymes C++

Les unions anonymes peuvent être globales, imbriquées ou non-imbriquées. Le C ANSI n'autorise jamais les unions anonymes. Le C++ ANSI autorise les trois types d'unions anonymes.

Unions anonymes imbriquées

La structure externe, classe ou union, d'une union anonyme imbriquée doit avoir une balise. Borland C et C++ autorise par défaut les unions anonymes imbriquées. En C, une union anonyme imbriquée peut avoir, de manière facultative, une balise.

Exemple :

struct outer {
  int x;
};

int main(void)
{
  struct outer o;
}