名無しの共用体と構造体

3次元ベクトル型とか作るときとても便利だということに気がついた.

class Vec3
{
public:
    union
    {
        struct{ float x, y, z; };
        float v[3];
    };
};

これで,(Vec3 vec3;として)vec3.xとvec3.v[0]が同じ場所を指す様になるはず.