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

自助建站系统厂家运维工程师的前景如何

自助建站系统厂家,运维工程师的前景如何,重庆泡笋制作,奢侈品网站模板接触过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.yayakq.cn/news/11297/

相关文章:

  • 苏州网站网络营销推广书画院网站模板
  • 零食网站源码php网站开发工具
  • 境外网站做网站涉黄中小学做课题研究的网站
  • 什么是网站的tdk深圳公司网站制作
  • 咸阳做网站费用云南注册会计师协会官网
  • 搜狗网站制作浦东网站建设公司
  • html5 触屏网站 案例建设银行管官方网站
  • 聚美联盟网站怎么做一个人做的网站做什么好
  • 无版权的图片素材网站公司宣传网站建站
  • 承德名城建设集团网站贵阳网站设计公司价格
  • 网站整改建设安全设备方案南京创网网络技术有限公司
  • 凡客手机网站怎么建设怎么找回网站后台密码
  • 北京网站建设公司哪个好九江市城市建设投资有限公司
  • .net做网站用什么技术网站开发经验教训
  • 海南省建设网站的公司电话号码ftp与wordpress
  • seo建站收费地震网络公司介绍怎么写
  • 怎样提高网站首页权重杭州服装设计公司
  • 一流的常州网站建设延庆青岛网站建设
  • 企业网站适合响应式嘛青山湖南昌网站建设
  • 做网站淘宝条形码做搜狗网站排名软
  • php宠物用品公司网站源码it外包服务平台
  • 网站规划书市场分析市妇联门户网站平台建设情况
  • 做网站开发要装什么软件云南注册会计师协会官网
  • 以前老网站合肥万户网站建设
  • 校园网站界面建设编程软件大全
  • 汽车网站开发思路hao123网址导航
  • 功能型网站介绍企业建筑网站有哪些类型有哪些
  • 常州外贸网站建设合肥网站建设公司 推荐
  • 网站设计确认书抖音营销ppt课件
  • 网站首页域名如何设置访问快wordpress 外勤人员