63 votes

Quand les structures et les syndicats anonymes sont-ils utiles dans C11?

C11 ajoute, entre autres, « Anonymous Structs and Unions ».

J’ai fouillé mais je n’ai pas trouvé d’explication claire sur le moment où des structures et des syndicats anonymes seraient utiles. Je pose la question parce que je ne comprends pas complètement ce qu’ils sont. Je comprends qu’il s’agit de structs ou d’unions sans nom par la suite, mais j’ai toujours (dû ?) traiter cela comme une erreur afin que je ne puisse concevoir qu’une utilisation pour les structs nommées.

62voto

Emily L. Points 696

Une utilisation typique et réelle des structures et des syndicats anonymes consiste à fournir une vue alternative aux données. Par exemple, lors de l’implémentation d’un type de point 3D :

Ceci est utile si vous interagissez avec du code qui attend un vecteur 3D comme pointeur vers trois doubles. Au lieu de faire ce qui est laid, vous pouvez faire ce qui rend votre intention claire.

13voto

ouah Points 75311
<pre><code></code><p><code></code> a un membre d’un type de structure anonyme C11.</p><p><code></code> n’a pas de balise et l’objet n’a pas de nom : il s’agit d’un type de structure anonyme.</p><p>Vous pouvez accéder aux membres de la structure anonyme de cette façon:</p><pre><code></code></pre></pre>

8voto

Dylan Gentile Points 106

Une autre implémentation utile est lorsque vous traitez avec des couleurs rgba, car vous voudrez peut-être accéder à chaque couleur seule ou en tant qu’int unique.

Vous pouvez maintenant accéder aux valeurs rgba individuelles ou à la valeur entière, son octet le plus élevé étant r. c’est-à-dire :

Tirages 11AACCFF

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X