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

厦门做网站推广最新腾讯新闻

厦门做网站推广,最新腾讯新闻,潍坊住房与城市建设部网站,网络推广策划案例强制类型转换分为显式和隐式 显式直接用小括号强制转换,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.yidumall.com/news/69201.html

相关文章:

  • 渝北网站建设公司优化大师是什么软件
  • 服务关系型网站怎么做软文写作公司
  • 学网站建设可以从事什么工作常州谷歌推广
  • 大连做企业网站排名网络培训总结
  • 企业网站源码asp武汉seo技术
  • 网站建设与运行的盈利收入平台代运营是什么意思
  • 制作网页中插入表格的目的一般是为了seo有名气的优化公司
  • 教育中介公司网站建设费用全国最大的关键词挖掘
  • 365元做网站seo承诺排名的公司
  • 网络代理是干嘛的优化大师平台
  • 怎样给自己的店做网站广告设计与制作
  • 网络公司做网站推广平台
  • 营销型网站建设要今天的新闻 联播最新消息
  • 企业网站怎么备案东莞网站设计排行榜
  • 宝安网站设计案例百度一下搜索引擎大全
  • 网络营销产品营销方案seo业务培训
  • 做黄金的经常看什么网站软文广告经典案例300大全
  • 福州做网站设计百度排行榜风云榜
  • 云原神官方网站正版下载seo优化工具
  • 怎样利用网站做淘宝客学推广网络营销去哪里
  • 网站做任务挣钱我有广告位怎么找客户
  • 谁做广东11彩票网站优化设计三年级上册答案
  • 现在个人都在哪个网站做外贸论坛seo网站
  • 网站建立失败的原因是360指数官网
  • 网页游戏排行榜2024晋城网站seo
  • 上海公司章程在哪里下载抖音seo软件工具
  • 关于企业网站建设的请示自己做网站制作流程
  • 专业网站有哪些平台网站 推广
  • 青岛网站建设大全网络搭建是干什么的
  • 网站域名申请什么叫百度竞价推广