联合体只有一个成员,所以可以在一个联合体用不同的方式定义一个成员
这一个成员站得内存都是一个内存
联合体可以是匿名的也可以是有名字的
struct Vector2{
float x, y;
};
struct Vector4 {
union {
struct {
float x, y, z, w;
};
struct {
Vector2 a, b;
};
};
};
void PrintVector(Vector2& vector) {
std::cout << vector.x << "," << vector.y << std::endl;
}
int main() {
Vector4 vector = { 0.1f,0.3f,9.0f,10.0f };
PrintVector(vector.a);
PrintVector(vector.b);
vector.w = 34.0f;
std::cout << "----------" << std::endl;
PrintVector(vector.a);
PrintVector(vector.b);
}
标签:struct,union,Vector2,float,联合体,内存 From: https://www.cnblogs.com/wangkaixin-yy/p/17749937.html