C++的联合体union

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

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

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

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

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

相关推荐
oioihoii2 分钟前
C++11到C++23语法糖万字详解
java·c++·c++23
pengzhuofan5 分钟前
Java演进与与工程师成长
java·开发语言
比昨天多敲两行5 分钟前
C++入门基础
开发语言·c++
月明长歌6 分钟前
再谈Java 继承与多态:从“能用”到“精通”,更深一层的原理与设计思维
java·开发语言
集3046 分钟前
C++多线程学习笔记
c++·笔记·学习
hoiii18717 分钟前
量子密钥分发密钥率仿真MATLAB实现
开发语言·matlab
ComputerInBook44 分钟前
C++编程语言:标准库:第39章——本地化(语言环境)( Locales)(Bjarne Stroustrup)
c++·c++语言环境·c++ 本地化设置·c++ locale·c++ facet·语言特征
hefaxiang1 小时前
分支循环(下)(二)
c语言·开发语言·数据结构
黑客思维者1 小时前
Python大规模数据处理OOM突围:从迭代器原理到TB级文件实战优化
开发语言·python·github·迭代器·oom
繁华似锦respect2 小时前
C++ 智能指针底层实现深度解析
linux·开发语言·c++·设计模式·代理模式