C++的联合体union

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

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

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

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

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

相关推荐
FMRbpm1 分钟前
顺序表实现队列
数据结构·c++·算法·新手入门
飞天狗1112 分钟前
G. Mukhammadali and the Smooth Array
数据结构·c++·算法
红石程序员11 分钟前
Python环境管理
开发语言·python
Chennnng13 分钟前
关于python版本,显卡版本,torch版本之间的问题
开发语言·python
rit843249918 分钟前
基于MATLAB的多变量动态矩阵控制(DMC)仿真实现
开发语言·matlab·矩阵
罗湖老棍子21 分钟前
Knight Moves(信息学奥赛一本通- P1257)
c++·算法·bfs
pyniu25 分钟前
项目实站day7--功能之营业额统计,用户数量统计
java·开发语言·spring boot·spring
一周困⁸天.36 分钟前
K8S-NetworkPolicy
java·开发语言
m0_4711996339 分钟前
【JavaScript】前端如何处理服务端部分接口加解密
开发语言·前端·javascript
stanleyrain44 分钟前
c++指针问题
开发语言·c++