typedef union {
float flts[4];
struct {
GLfloat r;
GLfloat theta;
GLfloat phi;
GLfloat w;
};
struct {
GLfloat x;
GLfloat y;
GLfloat z;
GLfloat w;
};
} FltVector;
好的,我认为我知道如何使用这个功能(或者说,我已经看到它是如何被使用的),即:
FltVector fltVec1 = {{1.0f, 1.0f, 1.0f, 1.0f}};
float aaa = fltVec1.x;
etc.
但我并不真正理解联合声明了多少存储空间(4个浮点数?8个浮点数?12个浮点数?),为什么?以及为什么使用FltVector {{}}时需要两组花括号?
为什么要使用联合?为什么不这样做...
struct FltVector {
GLfloat x;
GLfloat y;
GLfloat z;
GLfloat w;
}
任何指针都非常感谢(对双关语感到抱歉)