C++的联合体union

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

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

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

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

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

相关推荐
枫景Maple3 小时前
C#字典Dictionary的内部实现原理
开发语言·c#
上单带刀不带妹5 小时前
Node.js 中的 fs 模块详解:文件系统操作全掌握
开发语言·javascript·node.js·fs模块
牵牛老人5 小时前
Qt中的QWebSocket 和 QWebSocketServer详解:从协议说明到实际应用解析
开发语言·qt·网络协议
chenglin0165 小时前
制造业ERP系统架构设计方案(基于C#生态)
开发语言·系统架构·c#
凌晨7点5 小时前
控制建模matlab练习13:线性状态反馈控制器-②系统的能控性
开发语言·matlab
要记得喝水6 小时前
汇编中常用寄存器介绍
开发语言·汇编·windows·c#·.net
shi57836 小时前
C# 常用的线程同步方式
开发语言·后端·c#
凌晨7点6 小时前
控制建模matlab练习11:伯德图
开发语言·matlab
freed_Day7 小时前
Java学习进阶--集合体系结构
java·开发语言·学习
Shun_Tianyou7 小时前
Python Day25 进程与网络编程
开发语言·网络·数据结构·python·算法