C++联合体union

联合体

将多个类型合并到一起省空间

枚举与联合一起使用

匿名联合

类似于无作用域

C++11联合体定义非内建类型

C++11 引入了能够在联合体中使用非内建类型的能力,这些类型包括具有自定义构造函数、析构函数、拷贝构造函数和拷贝赋值运算符的类。

关键特性

构造和析构:在联合体中使用具有非平凡构造函数和析构函数的类型时,必须显式地调用这些函数。这是因为联合体不会自动调用成员的构造函数和析构函数。

有限的类型:虽然 C++11 允许在联合体中使用更复杂的类型,但并不是所有类型都可以用。特别是,不能在联合体中使用具有虚函数或虚基类的类型。

显式管理:你需要手动管理联合体中对象的生命周期,包括合适地调用构造函数和析构函数。

使用类管理union成员

类可以在某个函数的内部

相关推荐
泡泡鱼(敲代码中)29 分钟前
MySQL基础学习笔记:从数据模型到DDL全掌握
开发语言·数据库·笔记·学习·mysql
老赵的博客1 小时前
c++面试之从虚函数表到Rtti一次性讲清楚
c++·qt
潜创微科技2 小时前
IT6520:USB-C 转 MIPI 高集成控制器,DP 1.4a 转 MIPI 单芯片搞定 4K120 显示
c语言·开发语言·低延迟·掌机·联阳
Escalating_xu2 小时前
【System V 信号量】从 P/V 原语到 Builder 封装:写出可控、可清理的进程互斥组件
java·linux·开发语言·jvm
傲世仙尊2 小时前
System V 进程间通信详解:共享内存、消息队列与信号量(CSDN博客)
linux·开发语言·c++
cvby3 小时前
C++11
开发语言·c++
6Hzlia3 小时前
【Classic 150 刷题计划】 LeetCode 26. 删除有序数组中的重复项 | C++ 快慢双指针经典模板
c++·算法·leetcode
夜不会漫长4 小时前
C++:类和对象(2)
java·javascript·c++
ch.ju4 小时前
Java—idea知识:如何创建新项目
java·开发语言·intellij-idea
无小道4 小时前
C++ 中 `explicit` 关键字详解:彻底理解隐式类型转换
c++·explicit