C++的联合体union

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

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

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

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

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

相关推荐
Light603 分钟前
破局“数据孤岛”:构建业务、财务、指标三位一体的智能数据模型
java·大数据·开发语言
guygg885 分钟前
基于Matlab的压缩感知信道估计算法实现
开发语言·算法·matlab
IMPYLH10 分钟前
Lua 的 warn 函数
java·开发语言·笔记·junit·lua
周杰伦_Jay20 分钟前
【Java集合与线程池深度解析】底层原理+实战选型+避坑指南(附代码)
java·开发语言·python
努力学习的少女25 分钟前
对SparkRDD的认识
开发语言·前端·javascript
代码or搬砖28 分钟前
Java中操作Redis
java·开发语言·redis
海上彼尚33 分钟前
Go之路 - 3.go的数据类型与转换
开发语言·后端·golang
老王熬夜敲代码42 分钟前
C++中的mutex、condition_val
c++·笔记·面试
闻缺陷则喜何志丹42 分钟前
【计算几何 二分查找】P12261 [蓝桥杯 2024 国 Java B] 激光炮|普及+
c++·数学·蓝桥杯·计算几何·洛谷
海上彼尚1 小时前
Go之路 - 4.go的集合[完整版]
开发语言·后端·golang