C++ variable membre alias?

Je suis sûr que cela est possible, parce que je suis assez sûr que je l'ai vu faire. Je pense que c'est génial, mais je serai heureux d'accepter des réponses du genre "c'est une très mauvaise idée parce que ____".

Dire que nous avons une base struct.

struct vertex
{
    float x, y, z;
};

Maintenant, je veux mettre en œuvre des alias sur ces variables.

vertex pos;
vertex col;
vertex arr;

pos.x = 0.0f; pos.y = 0.5f; pos.z = 1.0f;
col.r = 0.0f; col.g = 0.5f; col.b = 1.0f;
arr[0] = 0.0f; arr[1] = 0.5f; arr[2] = 1.0f;

Idéalement, la troisième syntaxe serait impossible de distinguer à partir d'un tableau. C'est, si j'ai envoyé arr comme un paramètre de référence à une fonction attend un tableau de float dans lequel il stocke les données (par exemple, de nombreux OpenGL glGet fonctions), ça marcherait bien.

Qu'en pensez-vous? Possible? Possible, mais stupide?

OriginalL'auteur mcccclean | 2009-01-30