C++的联合体union

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

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

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

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

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

相关推荐
hudawei9966 分钟前
flutter路由传参接收时机
开发语言·flutter·异步
3824278276 分钟前
python:Ajax爬取电影详情实战
开发语言·python·ajax
微爱帮监所写信寄信8 分钟前
微爱帮监狱写信寄信工具服务器【Linux篇章】再续:TCP协议——用技术隐喻重构网络世界的底层逻辑
linux·服务器·开发语言·网络·网络协议·小程序·监狱寄信
冰西瓜60018 分钟前
STL——vector
数据结构·c++·算法
赵庆明老师29 分钟前
VS2026扩展插件Visual Commander
java·开发语言
闻缺陷则喜何志丹29 分钟前
【离线查询 前缀和 二分查找 栈】P12271 [蓝桥杯 2024 国 Python B] 括号与字母|普及+
c++·算法·前缀和·蓝桥杯·二分查找··离线查询
额呃呃32 分钟前
信号量唤醒线程的实际机制
java·开发语言·jvm
程序员阿鹏37 分钟前
怎么理解削峰填谷?
java·开发语言·数据结构·spring·zookeeper·rabbitmq·rab
ht巷子41 分钟前
Qt:容器类的迭代
开发语言·c++·qt