首页 > 其他分享 >19_类型转换

19_类型转换

时间:2023-10-15 14:56:38浏览次数:28  
标签:类型转换 const cast 19 int Base new

类型转换

static_cast 静态类型转换

class Base{};
class Son: public Base{};
class Other{};

1用于父类和子类之间指针或引用的转换

基本类型: 支持

int num = static_cast<int>(3.14); //ok

2上行转换: 支持 安全

Base *p = static_cast<Base *>(new Son);

3下行转换: 支持(不安全)

Son *p2 = static_cast<Son *>(new Base);

4不相关类型转换: 不支持

Base *p3 = static_cast<Base *>(new Other); //error

dynamic_cast 静态类型转换

1dynamic_cast主要用于类层次间的上行转换和下行转换

基本类型: 不支持

int num = dynamic_cast<int>(3.14); //error

2上行转换: 支持

Base *p1 = dynamic_cast<Base *>(new Son); //ok

3下行转换: 不支持(不安全)

Son *p2 = dynamic_cast<Son *>(new Son); //error

4不相关类型转换: 不支持

Base *p3 = dynamic_cast<Base *>(new Other); //error

const_cast 常量转换

1将const修饰的指针或引用转换成 非const(支持)

const int *p1;
int *p2 = const_cast<int *>(p1);

const int &ob = 10;
int &ob1 = const_cast<int &>(ob);

2将非const修饰的指针或引用转换成 const(支持)

int *p3;
const int *p4 = const_cast<const int *>(p3);

int data = 10;
const int &ob2 = const_cast<const int &>(data);

重新解释转换(reinterpret_cast) (最不安全)

image-20231011172716182

标签:类型转换,const,cast,19,int,Base,new
From: https://www.cnblogs.com/mzx233/p/17765626.html

相关文章

  • Adobe Acrobat Pro dc 2019完整中文版下载/DC软件下载包括最新版
    AdobeAcrobatDC2019最新版-简称DC2019是一款综合性的PDF编辑和阅读软件,能够支持随时随地开展工作的完整PDF解决方案。新版本进行了重新设计,可以在桌面、Web和移动设备(包括启用触屏的设备)上提供简单一致的用户体验。比如acrobat2019利用全局签名工具对文档进行签名时,您只需单击一......
  • 升级Lync Server 2013到Skype for Business 2019(十一)
    写在前面本章将介绍如何将LyncServer2013旧有边缘服务,切换到新的SkypeforBusiness2019边缘服务器上。切换SkypeforBusiness2019服务器添加SkypeforBusiness2019服务器公网DNS。这些DNS主要包括如下内容:项目DNS配置类型IP外部访问access.contoso.comA公网IP地址外部Web会......
  • docker安装sqlserver2019
    1.拉取镜像dockerpullmcr.microsoft.com/mssql/server:2019-latest2.执行dockerrun命令: dockerrun--namesqlserver-wangmj--hostnamesqlserver-master\-p1434:1433\-e'ACCEPT_EULA=Y'\-e'SA_PASSWORD=sdfasdfasdfsdf?'......
  • P8679 [蓝桥杯 2019 省 B] 填空问题 题解
    P8679[蓝桥杯2019省B]填空问题题解题目传送门欢迎大家指出错误并联系这个蒟蒻更新日志2023-05-2521:02文章完成2023-05-2711:34文章通过审核2023-06-2021:03优化了文章代码格式试题A:组队【解析】本题是一道经典的DFS搜索题,每次对各号位的选手进行DFS,......
  • P8684 [蓝桥杯 2019 省 B] 灵能传输 题解
    P8684[蓝桥杯2019省B]灵能传输题解Part1提示题目传送门欢迎大家指出错误并私信这个蒟蒻欢迎大家在下方评论区写出自己的疑问(记得@这个蒟蒻)Part2更新日志2023-06-2021:46文章完成2023-07-0308:57文章通过审核2023-08-2118:14更改了文章格式,使文章看起......
  • 1987-2008年考研数二真题全面解析
    1987|1988|1989|1990|1991......
  • 五大咨询(IBM|埃森哲|汉得|HP|用友)公司IT规划方法论 P119
    本人从事咨询工作多年,二十年一线数字化规划咨询经验,提供制造业数智化转型规划服务,顶层规划/企业架构/数据治理/数据安全解决方案资料干货.【智能制造数字化咨询】该PPT共119页,由于篇幅有限,以下为部分资料,如需完整原版 方案,点击关注下方。HP、IBM、汉普、埃森哲、用友这五大国内......
  • Java零基础入门-基本类型转换、包装类、自动装箱、自动拆箱
    前言在Java编程中,经常需要进行基本类型之间的转换以及包装类与基本类型之间的转换。本文将介绍Java中基本类型转换、包装类、自动装箱与自动拆箱的概念和用法。摘要本文将介绍Java中的基本类型转换、包装类、自动装箱与自动拆箱的概念和应用。首先,我们将讨论基本类型转换的概念......
  • [ASIS 2019]Unicorn shop
    原理unicode的安全转换问题解题过程https://www.cnblogs.com/Cl0ud/p/12221360.htmlhttps://blog.csdn.net/xhy18634297976/article/details/123012162......
  • Atcoder beginner constest319 Minimum Width
    因为要求窗口的最小宽度,当宽度为w时满足条件,那么宽度为w+1时也满足条件,有此可见是有单调性的,那么可以用二分搜的方法,且此题目一定有解。因为M最大为2乘以10的5次方,Li最大为10的9次方,所以宽度最大为2乘以10的14次方,单词每次间隔1,所以这里设成10的17次方。之后就是套二分模板解暴力......