当前位置: 首页 > news >正文

c++ 联合(Union)的特性和使用

联合(Union)是一种特殊的数据结构,允许在同一内存位置存储不同的数据类型。一个 union 可以有多个数据成员,但是在任意时刻只有一个数据成员可以有值。当某个成员被赋值后其他成员变为未定义状态。以下是联合的主要特点和使用方式:

  • 默认访问控制符:成员默认为 public
  • 构造函数和析构函数:可以有构造函数和析构函数。
  • 引用类型成员:不能包含引用类型的成员。
  • 继承和虚函数:不能作为基类,也不能含有虚函数。
  • 匿名联合:在定义所在作用域可直接访问联合成员,但不能包含 protected 或 private 成员。
  • 全局匿名联合:必须声明为静态(static)。

代码示例:

#include <iostream>// 定义具有默认构造函数的联合
union UnionTest {UnionTest() : i(10) {}  // 构造函数初始化 i 成员为 10int i;double d;
};// 全局静态匿名联合
static union {int i;double d;
};int main() {UnionTest u;  // 创建 UnionTest 的实例 uunion {int i;double d;};  // 局部匿名联合std::cout << u.i << std::endl;  // 输出 UnionTest 联合的成员 i,值为 10::i = 20;  // 访问全局静态匿名联合的成员 istd::cout << ::i << std::endl;  // 输出全局静态匿名联合的成员 i,值为 20i = 30;  // 访问局部匿名联合的成员 istd::cout << i << std::endl;  // 输出局部匿名联合的成员 i,值为 30return 0;
}

相关文章:

c++ 联合(Union)的特性和使用

联合&#xff08;Union&#xff09;是一种特殊的数据结构&#xff0c;允许在同一内存位置存储不同的数据类型。一个 union 可以有多个数据成员&#xff0c;但是在任意时刻只有一个数据成员可以有值。当某个成员被赋值后其他成员变为未定义状态。以下是联合的主要特点和使用方式…...

大白菜U盘启动工具

大白菜如何u盘启动进winpe装系统大白菜是一款非常实用的U盘启动盘制作工具&#xff0c;可以帮助用户快速地将U盘制作成启动盘&#xff0c;从而方便地进行系统安装、维护和修复等操作。官方网站&#xff1a; 大白菜u盘启动盘制作工具_大白菜u盘装系统_大白菜pe_大白菜官网-首页…...

C# 中 IEnumerable 和 IQueryable 接口之间的区别

在 C# 中&#xff0c;IEnumerable和IQueryable接口都用于查询数据集合&#xff0c;但它们的用途不同&#xff0c;功能也不同。下面是它们之间差异的细分&#xff1a; 1. C# 中的 IEnumerable 接口 在命名空间中定义System.Collections。表示集合中元素的只进式游标。适用于查…...

centos安装yum命令及常用yum命令

一、准备工作 获取安装介质&#xff1a; 如果你有CentOS的安装ISO文件或DVD介质&#xff0c;可以直接使用它来设置本地yum源。 如果没有&#xff0c;你需要在一个有网络连接的CentOS系统上下载所需的rpm包和依赖。 创建挂载点&#xff08;如果你使用的是ISO文件&#xff09;&a…...

table = collections.defaultdict(list)申请的字典的类型是什么?

当你使用 collections.defaultdict(list) 来申请一个字典时&#xff0c;这个字典的类型是 defaultdict&#xff0c;但是其行为和表现方式在某些方面与普通的字典&#xff08;dict&#xff09;相似&#xff0c;主要区别在于它如何处理缺失的键。 defaultdict 是 Python 标准库 …...

【虚拟机】虚拟机网络无法访问问题【已解决】

【虚拟机】虚拟机无法上网问题【已解决】 问题探究解决方法法1&#xff1a;查看相关“网络服务”是否处于正常启动状态法2&#xff1a;重启网络法3&#xff1a;重新安装VMWare法4&#xff1a;使用NAT模式&#xff0c;每次打开win7都没连上网的解决办法 问题探究 安装了很多个虚…...

大数据面试题之Spark(3)

目录 Spark的哪些算子会有shuffle过程? Spark有了RDD&#xff0c;为什么还要有Dataform和DataSet? Spark的RDD、DataFrame、DataSet、DataStream区别? Spark的Job、Stage、Task分别介绍下&#xff0c;如何划分? Application、job、Stage、task之间的关系 Stage内部逻辑…...

基于 Gunicorn + Flask + Docker 的模型高并发部署

在现代 Web 应用程序中&#xff0c;处理高并发请求是一个常见且重要的需求。本文将介绍如何使用 Gunicorn、Flask 和 Docker 来实现模型的高并发部署。我们将从环境设置、代码实现、Docker 镜像构建及部署等方面进行详细讲解。 一、环境设置 1. 安装 Flask 首先&#xff0c;…...

CPU通过网络将IP camera的RTSP流(H.264编码或是H.265编码)拉回, 交给GPU解码并显示的处理流程

这个流程涉及到从IP摄像头获取视频流&#xff08;通过RTSP协议&#xff09;&#xff0c;然后将流传输给GPU进行解码和显示的过程。详细的流程描述如下&#xff1a; 1. 获取视频流: - **IP摄像头**: 摄像头通过RTSP&#xff08;Real-Time Streaming Protocol&#xff09;将…...

windows@资源管理器中的地址栏@访问共享文件夹的各种方法@管理共享文件夹

文章目录 资源管理器中的地址栏可以访问什么访问共享文件夹&#x1f47a;UNC路径资源管理器打开共享文件夹纯命令行方式访问共享文件夹 共享文件夹相关操作查看所有已经共享的文件夹&#x1f47a;停止某个文件的共享 共享文件夹的访问控制补充匿名访问问题&#x1f60a;强制启用…...

ffmpeg推流时Unknown encoder ‘libx264‘

如果环境中有conda&#xff0c;最简单的办法就是 conda uninstall ffmpeg conda install ffmpeg 或者 sudo apt-get install -y libgmp3-dev pkg-config gnutls-bin libaom-dev libass-dev libbluray-dev libfdk-aac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-…...

xmind导入导出支持图片功能源码改造

xmind导入导出支持图片功能 在开发用例管理平台的过程中&#xff0c;需要使用xmind来管理用例。所以也涉及到xmind用例的导入导出功能&#xff0c; 在开始的时候&#xff0c;xmind文件中没有图片&#xff0c;所以使用xmind,xmindparser包就可以完成改任务。现在新增需求&#x…...

Web应用防火墙用在哪些场景?

WAF是Web Application Firewall的缩写&#xff0c;翻译为“Web应用防火墙”是一种网络安全设备或服务&#xff0c;用于保护Web应用程序免受各种网络攻击和漏洞的影响。 WAF特别设计用于识别和阻止特定于Web应用程序的攻击&#xff0c;例如SQL注入、跨站脚本(XSS)、跨站请求伪造…...

MySQL高可用(MHA高可用)

什么是 MHA MHA&#xff08;MasterHigh Availability&#xff09;是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。 MySQL故障切换过程中&#xff0c;MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过程中最大…...

k8s_如何配置 containerd 使用镜像加速拉取docker.io上的镜像

在 Kubernetes 使用 containerd 作为容器运行时,可以通过配置 containerd 来使用镜像网站(镜像仓库)拉取镜像。这可以通过修改 containerd 的配置文件来实现。以下是详细步骤: 步骤 1:安装 containerd (如果已安装,这一步略过) 如果尚未安装 containerd,可以使用以下命…...

centos7安装宝塔面板

一、进入root模式 sudo su二、安装宝塔面板 if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec...

Spring 事务管理:全面解析

Spring 框架是一款广受欢迎的 Java 开发框架&#xff0c;其强大的功能之一便是事务管理。事务管理在确保数据一致性和完整性方面至关重要。在这篇文章中&#xff0c;我们将深入探讨 Spring 事务管理&#xff0c;包括声明式事务管理、编程式事务管理&#xff0c;以及事务传播和隔…...

概率论与数理统计_上_科学出版社

contents 前言第1章 事件与概率1.1 随机事件与样本空间1.1.1 样本空间1.1.2 随机事件1.1.3 事件之间的关系与运算 1.2 概率的三种定义及其性质1.2.1 概率的统计定义1.2.2 概率的古典定义1.2.3 概率的几何定义1.2.4 概率的性质 1.3 常用概型公式1.3.1 条件概率计算公式1.3.2 乘法…...

昇思25天学习打卡营第11天|LSTM+CRF序列标注

序列标注指给定输入序列&#xff0c;给序列中每个Token进行标注标签的过程。序列标注问题通常用于从文本中进行信息抽取&#xff0c;包括分词(Word Segmentation)、词性标注(Position Tagging)、命名实体识别(Named Entity Recognition, NER)等。 和人理解语言一样&#xff0c…...

CSS 核心知识点 - grid

思维导图 参考网址: https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_grid_layout 一、什么是 grid&#xff1f; CSS Grid布局是在CSS3规范中引入的一种新的布局方式&#xff0c;旨在解决传统布局方法&#xff08;如浮动、定位、表格布局&#xff09;存在的许多问题。C…...

深入解析AUTOSAR通信模块:从信号抽象到多路CAN配置

1. AUTOSAR通信模块的核心价值 第一次接触AUTOSAR通信模块时&#xff0c;我被它复杂的层级关系绕得头晕。直到在实车上调试快充CAN信号时&#xff0c;才真正理解这种架构设计的精妙之处。简单来说&#xff0c;AUTOSAR的Com模块就像个智能邮局&#xff0c;负责把应用层产生的各种…...

终极B站界面美化指南:如何用BewlyBewly插件快速打造个性化体验

终极B站界面美化指南&#xff1a;如何用BewlyBewly插件快速打造个性化体验 【免费下载链接】BewlyBewly Just make a few small changes to your Bilibili homepage. (English | 简体中文 | 正體中文 | 廣東話) 项目地址: https://gitcode.com/gh_mirrors/be/BewlyBewly …...

别再手动刷新了!SAP ALV中利用change事件与modify_cell实现智能数据同步

SAP ALV开发进阶&#xff1a;巧用change事件与modify_cell构建智能数据联动体系 在SAP前端开发领域&#xff0c;ALV&#xff08;ABAP List Viewer&#xff09;作为最常用的数据展示控件&#xff0c;其交互体验直接影响用户操作效率。传统开发模式中&#xff0c;当用户修改某个单…...

ESP32S3-Cam + MPU6050 DMP移植避坑实录:从编译报错到姿态数据稳定输出的完整流程

ESP32S3-Cam与MPU6050 DMP移植实战&#xff1a;从编译报错到稳定姿态解算的全流程解析 当ESP32S3-Cam遇上MPU6050的DMP&#xff08;数字运动处理器&#xff09;功能&#xff0c;本应是物联网项目中实现低成本姿态检测的完美组合。但实际移植过程中&#xff0c;开发者往往会遭遇…...

2025.12晶晨S905L3S-L3SB安卓9通刷实战:当贝桌面加持,解锁多品牌盒子新玩法

1. 晶晨S905L3S-L3SB通刷包的前世今生 第一次听说晶晨S905L3S-L3SB芯片能通刷时&#xff0c;我正对着家里三台不同品牌的电视盒子发愁。这些盒子有的来自运营商赠送&#xff0c;有的是二手市场淘来的&#xff0c;虽然硬件配置相近&#xff0c;但系统体验天差地别。直到发现这个…...

5分钟搞定:Mac用户制作Windows启动盘的终极指南

5分钟搞定&#xff1a;Mac用户制作Windows启动盘的终极指南 【免费下载链接】windiskwriter &#x1f5a5; A macOS app that creates bootable USB drives for Windows. &#x1f6e0; Patches Windows 11 to bypass TPM and Secure Boot requirements. 项目地址: https://g…...

2026年全国青少年信息素养大赛算法应用主题赛(C++赛项初赛模拟卷3:文末附答案)

2026年全国青少年信息素养大赛算法应用主题赛&#xff08;C赛项初赛模拟卷3&#xff1a;文末附答案&#xff09; 一、单选题 在C中&#xff0c;以下哪个关键字用于定义一个整型变量&#xff1f; A. int B. float C. char D. double 一支商队从长安出发&#xff0c;每天行进80里…...

2026职业红利:AI智能体运营岗位培训如何助你实现高薪跨越?

导读&#xff1a; 2026年&#xff0c;职场竞争的底层逻辑已悄然改变。当传统运营还在为写一段文案、剪一个视频熬夜时&#xff0c;掌握了 AI 智能体技术的“新运营人”已经通过自动化工作流&#xff0c;实现了 10 倍速的产出。目前&#xff0c;市场对AI智能体运营经理、AI内容策…...

Fish-Speech-1.5技术报告解读:LLM如何提升TTS表现

Fish-Speech-1.5技术报告解读&#xff1a;LLM如何提升TTS表现 1. 引言 你有没有想过&#xff0c;为什么有些语音合成系统听起来还是那么"机械"&#xff0c;而有些已经几乎和真人无异&#xff1f;这背后的技术差距到底在哪里&#xff1f;今天我们要聊的Fish-Speech-…...

Java AI推理服务上线即崩?JVM GC日志暴露真相:Metaspace暴涨470%、Direct Memory泄漏12.6GB——5行代码精准修复方案(含Arthas实时监控脚本)

第一章&#xff1a;Java AI推理服务集成概述在现代企业级AI应用架构中&#xff0c;Java凭借其稳定性、丰富的生态和成熟的微服务支持能力&#xff0c;正成为部署AI推理服务的重要后端语言。与Python主导的模型训练场景不同&#xff0c;Java更常用于高并发、低延迟、强事务保障的…...