C++的联合体union

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

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

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

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

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

相关推荐
代码代码快快显灵1 小时前
java之异常处理
java·开发语言
Kalika0-02 小时前
温度转换-C语言
c语言·开发语言·数据结构·算法
qq_172805594 小时前
Go 性能剖析工具 pprof 与 Graphviz 教程
开发语言·后端·golang·go
斗-匕4 小时前
《代码重构指南:提升代码质量的关键步骤》
开发语言
月夕花晨3744 小时前
C++学习笔记(50)
c++·笔记·学习
Mr_Xuhhh5 小时前
数据结构阶段测试2的一点小补充
android·开发语言·汇编·数据结构·c++·算法
码农超哥同学5 小时前
Python知识点:如何使用KubeEdge与Python进行容器化边缘计算
开发语言·python·面试·编程·边缘计算
1登峰造极5 小时前
uniapp自定义导航,全端兼容
开发语言·javascript·uni-app
无敌の星仔5 小时前
一个月学会Java 第7天 字符串与键盘输入
java·开发语言·python
心易行者5 小时前
ChatGPT 与 CoT 思维链:如何重塑 AI 的逻辑大脑?
开发语言·python