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

北京 网站 建设自媒体平台

北京 网站 建设,自媒体平台,网站专题页是什么,用dw做的网站怎么放到网上接触过C语言的朋友都知道,C语言中也有强制类型转换,但是C语言中的强制类型转换会有一些问题,比如: int a 0x1234; char b (char)a; 上述的代码出现一个问题就是a 这个int型强制转化成b 这个char型时损失了一些精度&#xff0c…

接触过C语言的朋友都知道,C语言中也有强制类型转换,但是C语言中的强制类型转换会有一些问题,比如:

int a = 0x1234;
char b = (char)a;

上述的代码出现一个问题就是a 这个int型强制转化成b 这个char型时损失了一些精度,

除此之外,比如没有内存检测(数字转化为地址类型)等。

于是C++中引入了新的类型转换,同时也保留了C语言的类型转换(仅仅是为了兼容C语言),所以在做C++开发时不推荐使用C语言的强制类型转换。

C++强制类型转换主要分4类:static_cast、const_cast、dynamic_cast、reinterpret_cast

1、用法:xxx_cast<要转换的目标类型>(表达式)

2、区别:

① static_cast(没有运行时类型检查来保证转换的安全性)

                用于基本类型间(int double float等)的转换

                不能用于基本类型指针间的转换

                用于有继承关系类对象之间的转换和类指针之间的转换

②const_cast

                去除变量的只读属性

                强制转换的目标类型必须是指针或引用

③reinterpret_cast

                用于指针类型间的强制转换

                用于整数和指针类型间的强制转换

④dynamic_cast

               用于有继承关系类指针之间的转换

               用于有交叉关系类指针之间的转换

               具有类型检查的功能

               需要虚函数的支持

如果一条dynamic_cast语句的转换目标是指针类型并且失败了,则结果为0。如果转换目标是引用类型并且失败了,则dynamic_cast运算符将抛出一个std::bad_cast异常(该异常定义在typeinfo标准库头文件中) 

上述强制转换一定要考虑到数值范围、内存大小问题。

数值问题:比如一个float类型的数据转换为short数据时,肯定会有精度损失(当被转换变量的值超过short的范围)

内存大小问题:比如我们使用static_cast将一个父类指针转换为子类指针,然后我们再操作时访问子类独有的成员时,这很有可能就会出错(比如段错误或者值不对)

http://www.yidumall.com/news/91464.html

相关文章:

  • 怎么做百度自己的网站小说关键词生成器
  • 怎么做网站排名优化逆冬seo
  • 蚌埠做网站哪家好补肾壮阳吃什么药效果好
  • wordpress文本置顶seo推广策划
  • 网站开发中 html靠谱的拉新平台
  • 电龙网站建设正规专业短期培训学校
  • 做微信公众号网站源码创建网站怎么创
  • 深圳知名网站建设公司百度推广客服工作怎么样
  • 网站建设公司找博行专门代写平台
  • 企业网站建设的经验心得百度 seo优化作用
  • 如何用群晖nas做网站网络营销整合推广
  • wordpress 主题 美化版广东网络优化推广
  • 戴瑞企业网站建设需求网店代运营可靠吗
  • 网站建设原创文章 关键词seo短视频
  • 160 作者 网站建设 amp国内永久免费的云服务器
  • 怎么在日本做乐天网站供货商最新新闻国内大事件
  • wordpress搬家后页面和分类打不开seo推广教学
  • wap网站生成小程序蚂蚁链接bt链接
  • 深圳专业做网站排名多少钱郑州推广优化公司
  • 网站的软文 怎么做推广seo关键词排名优化价格
  • dede网站模板seo百度站长工具查询
  • 昆山专业简历制作网站百度推广投诉人工电话
  • 长春网站外包网站开发的一般流程
  • 做外贸是不是要有网站公司网站建设多少钱
  • 微信小程序定制团队刷seo排名
  • 个人网站建站系统什么文案容易上热门
  • visual studio2005做网站百度搜一下
  • 西安网站建设云李石家庄seo优化
  • 网站 关键字 标签网址域名
  • 网站做服务端网站搜索排名优化软件