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

宝塔wordpress建站教程广州网站开发设计平台

宝塔wordpress建站教程,广州网站开发设计平台,巫溪网站建设,景德镇市建设厅网站强制类型转换分为显式和隐式 显式直接用小括号强制转换,float b (int)a; 隐式直接 float b 0.5; int a b; C中更推荐用四个强制类型转换的关键字: 1、static_cast, 2、const_cast, 3、reinterpret_cast, 4、dynami…

强制类型转换分为显式和隐式
显式直接用小括号强制转换,float b = (int)a;
隐式直接 float b = 0.5; int a = b;

C++中更推荐用四个强制类型转换的关键字:
1、static_cast,
2、const_cast,
3、reinterpret_cast,
4、dynamic_cast

1)static_cast
用法为 static_cast (expression)。
该运算符把 expression 转换为 type-id 类型,但没有运行时类型检查来保证转换的安全性。
主要用法如下:
(1)用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。
进行上行转换(把派生类的指针或引用转换成基类表示)是安全的;
进行下行转换(把基类指针或引用转换成派生类表示)时,由于没有动态类型检查,所以是不安全的。
(2)用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。这种转换的安全性也要开发人员来保证。
(3)把空指针转换成目标类型的空指针。
(4)把任何类型的表达式转换成void类型。

    int num1 = 2;int num2 = 3;double num3 = static_cast<double>(num2) / static_cast<double>(num1);//double num3 = (double)(num2)/(double)(num1);

注意,static_cast 不能转换掉 expression 的 const、volitale 或者 __unaligned 属性

2)const_cast
  上边的 static_cast 不能将 const int* 转成 int*,const_cast 就可以,用法为 const_cast (expression),const_cast<>里边的内容必须是引用或者指针

3)reinterpret_cast
  reinterpret_cast 主要有三种强制转换用途:
  1、改变指针或引用的类型
  2、将指针或引用转换为一个足够长度的整形
  3、将整型转换为指针或引用类型。
  用法为 reinterpret_cast (expression)。
  type-id 必须是一个指针、引用、算术类型、函数针或者成员指针。它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针(先把一个指针转换成一个整数,在把该整数转换成原类型的指针,还可以得到原先的指针值)。

4)dynamic_cast
  用法为 dynamic_cast (expression)。
  几个特点如下:
  (1)其他三种都是编译时完成的,dynamic_cast 是运行时处理的,运行时要进行类型检查。
  (2)不能用于内置的基本数据类型的强制转换
  (3)dynamic_cast 要求 <> 内所描述的目标类型必须为指针或引用。dynamic_cast 转换如果成功的话返回的是指向类的指针或引用,转换失败的话则会返回 nullptr
  (4)在类的转换时,在类层次间进行上行转换(子类指针指向父类指针)时,dynamic_cast 和 static_cast 的效果是一样的。在进行下行转换(父类指针转化为子类指针)时,dynamic_cast 具有类型检查的功能,比 static_cast 更安全。 向下转换的成功与否还与将要转换的类型有关,即要转换的指针指向的对象的实际类型与转换以后的对象类型一定要相同,否则转换失败。在C++中,编译期的类型转换有可能会在运行时出现错误,特别是涉及到类对象的指针或引用操作时,更容易产生错误。Dynamic_cast操作符则可以在运行期对可能产生问题的类型转换进行测试。
  (5)使用 dynamic_cast 进行转换的,基类中一定要有虚函数,否则编译不通过(类中存在虚函数,就说明它有想要让基类指针或引用指向派生类对象的情况,此时转换才有意义)。这是由于运行时类型检查需要运行时类型信息,而这个信息存储在类的虚函数表中,只有定义了虚函数的类才有虚函数表

ref: https://blog.csdn.net/Bob__yuan/article/details/88044361

http://www.15wanjia.com/news/179544.html

相关文章:

  • 珠海市建设工程质量监督检测站网站外贸网站源码 php
  • 岳池住房和城乡建设厅网站高端h5网站
  • ftp做网站做网站的流程视频
  • 网站建设灬金手指科杰网站开发竞聘报告
  • wordpress站外链接页面在哪些网站可以发布推广信息
  • 做网站的时候表格怎么去掉佛山市南海区交通建设网站
  • 商城网站开发商如何成立网站
  • 网站统计哪个好用中国淮南网
  • 软件公司网站模板公司装修图片大全
  • 长沙有网站建站吗网站建设网络营销
  • 网站开发包括哪些网站开发合同注意
  • 莱阳做网站优秀英文企业网站
  • 矢量插画的网站网站的建设与应用
  • 网站建设流网站建设投放广告
  • 昆明网站建设外包贵阳网站建设gzzctyi
  • seo是东莞企业网站排seo网站建设合同 包括什么
  • 关于网站制作的评价网站制作怎样盈利
  • 对网站设计的建议杭州个人网站建设
  • 网站网页设计html网站建设信息平台
  • 江西通威公路建设集团有限公司网站discuz 与Wordpress
  • 企业互联网网站定位做网站的公司多吗
  • 关于绿色环保网站的建设历程jsp旅游网站开发系统
  • 2021半夜好用的网站企业网站功能是什么
  • 溧阳市住房和城乡建设局网站怎么进行网站诊断
  • dw旅游网站设计教程必须重视的问题之一
  • 设计师新手接单网站珠海网站建设哪家公司好
  • 网站建设维护论文东莞网站设计公司
  • 如何查询一个网站的空间视频拍摄方案
  • 网站建设的项目计划游戏网站怎么做seo
  • 网站如何推广行业山西网站开发二次开发