C++四种类型转换对比与总结

2023-05-16

  • 静态类型转换: static_cast,主要作用于类层次中父类和子类之间指针或引用的转换。static_cast支持基本数据类型转换和自定义数据类型转换,但是无法作用于不相干的类之间的转换。
  1. 上行转换:用父类指针或引用指向子类对象(安全)。
  2. 下行转换:用子类指针或引用指向父类对象(不安全)。
    在这里插入图片描述
  • 动态类型转换: dynamic_cast,不支持基本数据类型之间的转换,在类层次中父类和子类之间的转换时,如果是安全的(上行转换)可以转换,如果不安全的(下行转换)转换类型直接报错,同时不支持不相干类之间的转换。
  • 常量转换: const_cast,用来修改类型的const属性,常量指针被转换为非常量指针并且仍然指向原来的对象;常量引用被转换为非常量引用并且仍然指向原来的对象。const_cast不支持非指针或引用的转换。
  • 重新解释转换: reinterpret_cast,这是最不安全的一种转换机制,等同于C中的小括号转换,他可以将指针转换为整数也可以将整数转换为指针,至于能不能转,会不会有问题,不会查验,相当于强制类型转换。不支持基本数据类型的转换。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++四种类型转换对比与总结 的相关文章

  • 如何理解端到端

    1 非端到端 xff1a 典型的自然语言处理 xff08 Natural Language Processing xff09 过程 xff1a 分词 gt 词性标注 gt 句法分析 gt 语义分析 直至得出结果 多个独立步骤 xff0c 每
  • Java笔记(11)——Collection集合

    0 先创建一个Person类为例 span class token keyword public span span class token keyword class span span class token class name Pe
  • 笔记:QGC使用及姿态环仿真调节方式

    笔记 xff1a QGC使用及姿态环仿真调节方式 打开Gazebo及QGC 进入终端管理员权限 sudo s 在终端打开Gazebo cd Firmware make px4 sitl default gazebo 点击文件夹中的QGC x
  • springboot集成freemarker模板,项目打成jar包到生产环境显示找不到模板文件

    文章目录 一 问题描述二 原始代码三 解决方案四 注意点 一 问题描述 1 使用springboot集成freemarker模版后 xff0c 在本地运行正常 xff1b 打成jar包后到线上测试报如下错误 xff1a 2 原因 xff1a
  • Linux网络设置

    文章目录 引言一 查看网络配置1 查看网络接口信息ifconfig2 修改网络配置文件3 设置网络接口参数 二 主机名称配置文件hostname1 hostname命令2 三种修改主机名的方式2 1 临时修改主机名 xff08 hostna
  • Java中的集合类

    Java中所有的类都位于java util包下 xff0c 主要由两个接口派生出来 分别是Collection xff08 集合 xff09 和Map Collection xff08 映射集合 xff09 xff0c 包含了List和Se
  • 退出VM VirtualBox独占的键盘和鼠标

    今天无意之间点了菜单栏的 热键 鼠标集成 xff0c 结果鼠标被锁在了里面出不来 xff0c 试了好多方法都不行 xff0c 有点奔溃 xff0c 最后发现 右边的Alt 43 Ctrl组合键可以跳出
  • Linux - 第11节 - 网络入门

    目录 1 计算机网络背景 1 1 网络发展 1 2 认识 34 协议 34 2 网络协议初识 2 1 协议分层 2 2 OSI七层模型 2 3 TCP IP五层 xff08 或四层 xff09 模型 3 网络传输基本流程 3 1 同局域网的
  • @PathVariable注解的用法和作用

    64 PathVariable注解的用法和作用 64 PathVariable 映射 URL 绑定的占位符 通过 64 PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中 URL 中的 xxx 占位符可以通过
  • 最新虚拟机中Ubuntu18.04安装教程(傻瓜教程)

    1 文件和软件下载 下载Ubuntu18 04文件 可以直接点下方的链接下载 Ubuntu18 04安装链接 下载VMware Workstation 笔者这边使用的是VMware Workstation15 5pro xff0c 大家也可
  • optimizer优化器详解

    在机器学习中 xff0c 优化器 xff08 optimizer xff09 是一种用于更新模型参数以最小化训练误差的算法 它可以将损失函数的梯度作为输入 xff0c 并根据该梯度调整模型参数的值 常见的优化器算法包括随机梯度下降 xff0
  • Java创建多线程的四种方式

    一 继承Thread类 1 创建一个继承于Thread类的子类 2 重写Thread类的run gt 将此线程执行的操作声明在run 中 3 创建Thread类的子类的对象 4 通过此对象调用start 启动当前线程 调用当前线程的run
  • MySQL基础

    本单元目标 一 为什么要学习数据库 二 数据库的相关概念 DBMS DB SQL 三 数据库存储数据的特点 四 初始MySQL MySQL产品的介绍 MySQL产品的安装 MySQL服务的启动和停止 MySQL服务的登录和退出 MySQL的
  • Thread类中的常用方法

    Thread类中的常用方法 xff08 学习总结 xff09 xff1a 序号函数作用1start 启动当前线程 xff1b 调用当前线程的run 2run 通常需要重写Thread类中的此方法 xff0c 将创建的线程要执行的操作生命在此
  • 线程的同步机制

    方式一 xff1a 同步代码块 span class token keyword synchronized span span class token punctuation span 同步监视器 span class token punc
  • Java常用类总结

    一 字符串相关的类 String类及其常用方法 1 String声明为final的 xff0c 不可被继承 2 String实现了Serializable接口 xff1a 表示字符串是支持序列化的 xff1b 实现了Comparable接口
  • java获取两个字符串中最大相同字串

    span class token keyword import span span class token keyword static span java span class token punctuation span lang sp
  • jdk提供的4种注解

    元注解 xff1a 对现有的注解进行解释说明的注解 Retention xff1a 指定所修饰的Annotation的生命周期 xff1a SOURCE CLASS xff08 默认行为 xff09 RUNTIME xff0c 只有声明为R
  • Java中List接口常用方法

    List除了从Collection集合继承的方法外 xff0c List集合里添加了一些根据索引来操作集合元素的方法 xff1a 序号返回值函数作用1voidadd int index Object ele 在index位置插入ele元素2
  • 对Java中Class类的理解并获取Class实例

    关于java lang Class类的理解 类的加载过程 xff1a 程序经过javac exe命令以后 xff0c 会生成一个或多个字节码文件 class结尾 接着我们使用java exe命令对某个字节码文件进行解释运行 相当于将某个字节

随机推荐