C++的联合体union

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

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

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

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

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

相关推荐
syt_biancheng1 分钟前
Day3算法训练(简写单词,dd爱框框,3-除2!)
开发语言·c++·算法·贪心算法
864记忆25 分钟前
Qt Network 模块中的函数详解
开发语言·网络·qt
864记忆26 分钟前
Qt Sql 模块中的函数详解
开发语言·网络·qt
是店小二呀37 分钟前
五分钟理解Rust的核心概念:所有权Rust
开发语言·后端·rust
她说人狗殊途39 分钟前
存储引擎MySQL
开发语言
自然数e1 小时前
C++多线程【线程管控】之线程转移以及线程数量和ID
开发语言·c++·算法·多线程
Arva .1 小时前
ConcurrentHashMap 的线程安全实现
java·开发语言
Dxy12393102161 小时前
Python为什么要使用可迭代对象
开发语言·python
任子菲阳2 小时前
学Java第四十五天——斗地主小游戏创作
java·开发语言·windows
缪懿2 小时前
JavaEE:多线程基础,多线程的创建和用法
java·开发语言·学习·java-ee