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

Aller à la navigation Aller à la recherche
niveau des titres
(niveau des titres)
}}
 
=== Structures, unions et champs de bits ===
 
Les structures existent en C++ uniquement pour la compatibilité ascendante et ne servent plus qu'à quelques cas spécifique comme les unions, les champs de bits et quelques applications matérielles mais même dans ces circonstance il est possible de trouver des alternatives plus "Objet".
* Les champs de bits.
 
==== Les Structures Simples ====
 
En C++ la structure simple à évoluée pour suivre un modèle plus "orienté objet" désormais il est possible et conseillé d'inclure les méthodes qui manipulent les données de la structure dans la structure elle-même. Chose qui était impossible en C. Au mieux on pouvais juste créer un pointeur sur un méthode mais cela n'était pas aussi trivial que ce que permet le C++.
}}
 
===== Alternative à la structure =====
 
En fait je l'ai déjà dit la structure à été avantageusement remplacée par la classe déclaré par le mot clé class.
 
==== Les Unions ====
 
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.
}}
 
===== Alternative à l'union =====
 
Comme je l'ai dit plus haut, une classe et ses méthodes qui encapsulent les castings sera plus claire et propre que de manipuler la même variable avec plusieurs noms différents.
 
==== Champs de bits ====
 
Les champs de bits (ou "Drapeaux" de l'anglais "Flags" qui sont leur principale application industrielle) sont des structures qui ont la possibilité de regrouper au plus juste dans un nombre d'octet moindre plusieurs valeurs. Cela vient directement du monde de l'électronique. Il existe nombres d'exemples de ce fonctionnement dans l'industrie.
}}
 
===== Alternative aux champs de bits =====
 
À l'instar de l'union, des énumérations et une classe et ses méthodes qui encapsulent les castings sera plus claire et propre que de manipuler plusieurs sous-noms différents d'une même variable.
9 704

modifications

Menu de navigation