« Langage C++/Structures, unions et champs de bits » : différence entre les versions

Aller à la navigation Aller à la recherche
m
Robot : Remplacement de texte automatisé (-qu'il +qu’il)
(Faute de grammaire.)
m (Robot : Remplacement de texte automatisé (-qu'il +qu’il))
Les unions permettent de créer des espaces mémoire où l'on peut interpréter une même donnée de différentes manières ou de diviser une même donnée en sous ensembles. En fait une union déclare la disposition tous ses membres en partant de la même adresse contrairement à la structure qui dispose ses membres les uns à la suite des autres.
 
Les unions ne sont pas à proprement parler des structures. Utilisés telles quelles elles ne permettent pas l'héritage mais il existe un moyen de contourner cet obstacle. Il est possible de créer des unions non nommées, cela permet de déléguer la manipulation des membres directement à la portée supérieure. Sachant cela il suffit d'encapsuler une union dans une structure typée pour rendre l'héritage possible. Cela implique cependant qu'ilqu’il sera impossible de créer un constructeur ou des méthodes non inlinées au niveau de l'union. Pour des raisons de lecture il sera donc préférable de déléguer la gestion des méthodes de l'union à la portée supérieure (soit la structure dans notre cas). Cela exige aussi que tous les attributs de l'union soient déclaré comme public.
 
{{Définition|contenu='''Syntaxe:'''
143 371

modifications

Menu de navigation