union horizontale et union verticale
Je me demandais quel était la différence pour le compilateur entre les 2 type d'unions suivantes, et pourquoi il faudrait préferer l'une à l'autre?
union horizontale:
Code:
1 2 3 4 5
| union {
struct{T x, y, z, w;};
struct{T r, g, b, a;};
struct{T s, t, p, q;};
}; |
union verticale:
Code:
1 2 3 4 5 6
| struct {
union{T x, r, s;};
union{T y, g, t;};
union{T z, b, p;};
union{T w, a, q;};
}; |
Toutes les 2 m'ont l'air gérables, la version horizontale, plus facile à lire IMHO, et plus simple à générer avec une macro.