C++的联合体union

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

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

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

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

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

相关推荐
闲人编程8 分钟前
Python对象模型:一切都是对象的设计哲学
开发语言·python·模型·对象·codecapsule·下划线
列逍11 分钟前
深入理解 C++ 智能指针:原理、使用与避坑指南
开发语言·c++
二川bro13 分钟前
Python大语言模型调优:LLM微调完整实践指南
开发语言·python·语言模型
4***V20218 分钟前
PHP在微服务通信中的消息队列
开发语言·微服务·php
亿坊电商23 分钟前
PHP框架 vs 原生开发:移动应用后端开发实战对比!
开发语言·php
S***q19239 分钟前
Kotlin内联函数优化
android·开发语言·kotlin
在路上看风景44 分钟前
2.3 C#装箱和拆箱
开发语言·c#
C语言小火车1 小时前
C/C++ 指针全面解析:从基础到进阶的终极指南
c语言·开发语言·c++·指针
g***B7381 小时前
Python数据分析案例
开发语言·python·数据分析
小灰灰搞电子1 小时前
Qt 使用打印机详解
开发语言·qt