C++的联合体union

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

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

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

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

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

相关推荐
李少兄9 天前
解决OSS存储桶未创建导致的XML错误
xml·开发语言·python
阿蒙Amon9 天前
《C#图解教程 第5版》深度推荐
开发语言·c#
学Linux的语莫9 天前
python基础语法
开发语言·python
LyaJpunov9 天前
深入理解 C++ volatile 与 atomic:五大用法解析 + 六大高频考点
c++·面试·volatile·atomic
小灰灰搞电子9 天前
Qt PyQt与PySide技术-C++库的Python绑定
c++·qt·pyqt
暖馒9 天前
C#委托与事件的区别
开发语言·c#
嘉琪0019 天前
2025——js 面试题
开发语言·javascript·ecmascript
Jinxiansen02119 天前
Vue3 中 ref 与 reactive 使用场景总结(含对比与示例)
开发语言·javascript·ecmascript
时空自由民.9 天前
C++ 不同线程之间传值
开发语言·c++·算法
止观止9 天前
Rust智能指针演进:从堆分配到零复制的内存管理艺术
开发语言·后端·rust