union联合体

联合体只有一个成员,所以可以在一个联合体用不同的方式定义一个成员

这一个成员站得内存都是一个内存

联合体可以是匿名的也可以是有名字的

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);
}

 

posted @   iu本u  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示