C++的联合体union

联合体有点像class类型或者struct类型,只不过它一次只占用一个成员的内存。

通常我们有一个结构体,声明了4个浮点数,那么结构体中就有4*4=16字节。当我们不断向类或者结构体中添加成员时,其大小也会不断增大。

union只有一个成员,如果我们在联合体中声明4个浮点数abcd,联合体的大小仍然是4个字节。当我尝试去改变它们的数值,它们的内存都是一样的,如果a的值是5,那么d的值也是5.

当我们想给同一个变量起两个名字时,union真的很有用,比如我们声明了一个数学向量xyz,我们也可以用这个向量表示颜色rgb

通常union是匿名使用的,但是匿名union不能含有成员函数

相关推荐
一刀到底21111 分钟前
java 微服务中,微服务相互调用 feign 和flux 如何选择
java·开发语言·微服务
秋风&萧瑟31 分钟前
【C++】类的构造函数
开发语言·c++
挺6的还35 分钟前
1.文件操作相关的库
c++
青春:一叶知秋1 小时前
【Qt开发】对话框
开发语言·qt
你挚爱的强哥1 小时前
【pdf】自定义组件:预览指定地址的PDF文件
开发语言·前端·javascript
半桔1 小时前
【烧脑算法】不定长滑动窗口:从动态调整到精准匹配以灵活特性实现高效破题
数据结构·c++·算法·leetcode·面试·职场和发展·排序算法
大白同学4212 小时前
【C++】多态
开发语言·c++
WispX8882 小时前
【手写系列】手写 AQS 实现 MyLock
java·开发语言·并发·aqs··手写·lock
南玖yy2 小时前
C++ 类模板三参数深度解析:从链表迭代器看类型推导与实例化(为什么迭代器类模版使用三参数?实例化又会是怎样?)
开发语言·数据结构·c++·人工智能·windows·科技·链表