C++核心编程和桌面应用开发 第十一天(静态转换 动态转换 常量转换 重新解释转换)
目录
1.静态类型转换
1.1语法
1.2用法
2.动态类型转换
2.1语法
2.2用法
3.常量类型转换
3.1语法
3.2用法
4.重新解释转换
4.1语法
1.静态类型转换
1.1语法
static_cast<目标转换类型>(待转换变量)
1.2用法
- 可用于基本数据类型之间的转换。比如int和char之间的转换
- 可用于继承中基类和派生类之间指针或引用的转换(父转子,不安全;子转父,安全)
2.动态类型转换
2.1语法
dynamic_cast<目标转换类型>(待转换变量)
2.2用法
- 不允许基本数据类型之间的转换
- 可用于继承中基类和派生类之间指针或引用的转换(向上转换和静态转换一样,向下转换时,动态转换会检查类型,普通的向下转换不安全,会转换失败;向上转换,成功;若是多态,那么转换总是安全的,则转换成功)
3.常量类型转换
3.1语法
const_cast<目标转换类型>(待转换变量)
3.2用法
- 只针对指针或引用进行转换
- 常量指针被转化成非常量指针,仍然指向原来的对象
- 常量引用被转化成非常量引用,仍然指向原来的对象
//举例
const int* p=NULL;
int* p=const_cast<int*>(p);
4.重新解释转换
4.1语法
reinterpret_cast<目标转换类型>(待转换变量)
注意:重新解释转换是一个非常底层的转换方式,可能会导致未定义的行为,不推荐使用
相关文章:
C++核心编程和桌面应用开发 第十一天(静态转换 动态转换 常量转换 重新解释转换)
目录 1.静态类型转换 1.1语法 1.2用法 2.动态类型转换 2.1语法 2.2用法 3.常量类型转换 3.1语法 3.2用法 4.重新解释转换 4.1语法 1.静态类型转换 1.1语法 static_cast<目标转换类型>(待转换变量) 1.2用法 可用于基本数据类型之间的转换。比如int和char之…...
Ubuntu-Ubuntu22.04下Anacodna3的qmake和Qt的qmake冲突问题
Ubuntu22.04下Anacodna3的qmake和Qt的qmake冲突问题 一、问题描述二、原因分析三、解决办法 一、问题描述 Ubuntu22.04下Anacodna3的qmake和Qt的qmake冲突问题 zhyzhy-HP:~/Sources/mpv-examples/libmpv/qt$ make g -c -pipe -g -Wall -Wextra -D_REENTRANT -fPIC -DQT_WIDGET…...
mysql用户管理(user表列信息介绍,本质,管理操作),数据库的权限管理(权限列表,权限操作)
目录 用户管理 介绍 user表 介绍 列信息 Host User *_priv authentication_string 用户管理的本质 操作 创建用户 删除用户 修改用户信息 修改密码 自己修改 root用户修改指定用户的密码 数据库的权限 权限列表 给用户授权 查看权限 回收权限 刷新权限 …...
AI工具 | Notion全新AI集成:搜索、内容生成、数据分析与智能聊天功能发布
新的 Notion AI 集成了搜索、生成内容、分析数据和智能聊天等功能,所有操作都可以在 Notion 内完成。依托于 GPT-4 和 Claude 等先进的 AI 模型,用户可以与 AI 聊天并获取针对各种话题的答案。 随时使用 在 Notion 页面右下角找到 AI 图标,点…...
微知-如何查看PCIe设备插入在哪个插槽以及对应的busid?(biosdecode)
背景 以前对于PCIe设备插入到服务器上,有几个slot(slot就是服务器硬件上的插槽)以及哪些插入了设备可用ipmitool查看(具体参考兄弟篇:https://blog.csdn.net/essencelite/article/details/139051451,但是无法知道某个…...
数据结构 —— 树和二叉树简介
目录 0.前言 1.树的认识 什么是树 树的相关概念 树的表示 孩子兄弟表示法 2.二叉树的认识 什么是二叉树 特殊的二叉树 满二叉树 完全二叉树 二叉树的性质 性质一 性质二 性质三 二叉树的存储 顺序存储 链式存储 0.前言 笔者我之前讲解的数据结构都是线性…...
ubuntu安装boost
下载官方安装包官方,我使用的是boost_1_86_0.zip版本 1、解压安装包 2、进入boost_1_86_0 3、./bootstrap.sh --prefix/path/ 4、./b2 5、sudo ./b2 install 6、~/.bashrc配置环境...
【Spring AI】Java实现类似langchain的第三方函数调用_原理与详细示例
Spring AI 介绍 :简化Java AI开发的统一接口解决方案 在过去,使用Java开发AI应用时面临的主要困境是没有统一且标准的封装库,导致开发者需要针对不同的AI服务提供商分别学习和对接各自的API,这增加了开发难度与迁移成本。而Sprin…...
CIM系统:智慧城市的数字基石
计算机集成制造系统(CIM)是智慧城市建设中的关键技术,它通过集成多种信息技术,为城市提供一个全面的数字化镜像。CIM系统不仅涉及建筑信息模型(BIM)、地理信息系统(GIS)、物联网&…...
Android中Fragment的使用场景与生命周期
Android中Fragment的使用场景和生命周期 在Android应用开发中,Fragment是一个非常重要的概念,它允许开发者将Activity拆分成多个可重用的UI组件,从而提供灵活的UI设计,简化Activity的复杂性,并适应不同的屏幕尺寸和方…...
输入网址后,浏览器是如何高效渲染出网页的?
当你打开浏览器,输入一个网址并按下回车,接下来发生的一切仿佛都在瞬间完成——网页很快加载出来,内容、图片、动画一应俱全,像魔法一样。然而,这背后却是一个复杂而高效的协作过程,涉及到浏览器内核的多个组件共同工作,特别是渲染线程的协调作用。那么,浏览器究竟是如…...
springboot单文件,多文件下载方式
简单大文件下载: /*** 下载大文件* param path 路径* param fileName 文件名* return* throws IOException*/ public static ResponseEntity<InputStreamResource> downloadFile(String path, String fileName) throws IOException {Path filePath Paths.ge…...
JIT详解
文章目录 JIT为什么说 Java 语言“编译与解释并存”? JIT原理JVM 架构简览JIT 编译流程JIT 编译器的实现优化策略方法内联逃逸分析 JIT 在Java中,JIT(Just-In-Time)编译器是Java虚拟机(JVM)的一个重要组成…...
线下陪玩导游系统软件源码,家政预约服务源码(h5+小程序+app)
游戏陪玩系统源码陪玩小程序源码搭建基于PHP+MySQL陪玩系统app源码陪玩系统定制开发服务、成品陪玩系统源码 系统基于Nginx或者Apache PHP7.3 数据库mysql5.6 前端为uniapp-vue2.0 后端为thinkphp6 有域名授权加密,其他开源可二开 演示源码下载 开…...
模拟退火算法最常见知识点详解与原理简介控制策略
章节目录 模拟退火算法简介与原理 算法的基本流程与步骤 关键参数与控制策略 模拟退火算法的应用领域 如何学习模拟退火算法 资源简介与总结 一、模拟退火算法简介与原理 重点详细内容知识点总结 1. 模拟退火算法简介 模拟退火算法(Simulated Annealing, SA&#x…...
C语言高效内存管理:对齐、缓存与位域
C语言高效内存管理:对齐、缓存与位域 一、内存对齐 1. 内存对齐的概念 内存对齐(Memory Alignment)是指数据在内存中存储时,其起始地址遵循特定的规则,使得数据能够被高效地访问。CPU通常以固定的字节数(…...
ES操作指南
# Creating a text file with the described Elasticsearch operations. es_operations """ Elasticsearch 基本操作语法: 1. 索引文档 (Index Documents): 自动生成 ID: POST /index_name/_doc { "field1": "value1", "…...
【黑苹果】记录MacOS升级Sonoma的过程
【黑苹果】记录MacOS升级Sonoma的过程 一、硬件二、提前说明三、准备OC四、选择驱动五、选择ACPI六、下载内核扩展七、其他问题 一、硬件 设备是神舟zx6-ct5da 具体参照下图 二、提前说明 本机器已经安装过 macOS Monterey 12.6,这次是升级到 macOS Sonoma 14。 …...
向“新”发力,朝“质”攀峰 | 资福医疗携手大圣胃肠一体内窥镜系统亮相江苏省医学会第八次健康管理学学术会议
伴随“健康中国”战略的深入实施,为进一步加强健康管理学科内涵建设,提升健康管理服务能力,促进健康管理学科创新及多部门、多产业交叉融合,2024年10月12~14日“江苏省医学会第八次健康管理学学术会议”在南京顺利召开…...
springboot项目多个数据源配置 dblink
当项目中涉及到多个数据库连接的时候该如何处理? 在对应的配置文件,配置对应的数据库情况,不过我确实没咋测试对于事务的处理我可以后续在多做测试 配置文件中配置对应的数据源 然后再使用的时候使用这个 DS(“pd_ob”)注解。 然后又长知识…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
区块链技术概述
区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...
阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)
cd /home 进入home盘 安装虚拟环境: 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境: virtualenv myenv 3、激活虚拟环境(激活环境可以在当前环境下安装包) source myenv/bin/activate 此时,终端…...
2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案
一、延迟敏感行业面临的DDoS攻击新挑战 2025年,金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征: AI驱动的自适应攻击:攻击流量模拟真实用户行为,差异率低至0.5%,传统规则引…...
