static_castdynamic_cast 与static_cast的区别

static_cast  时间:2021-06-25  阅读:()

c++中“static_cast”有什么用?

static_cast在C++中用于将表达式的值转换为指定的类型,但没有运行时类型检查来保证转换的安全性。

主要有以下用法: (1)用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。

(2)用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。

这种转换的安全性也要开发人员来保证。

(3)把空指针转换成目标类型的空指针。

(4)把任何类型的表达式转换成void类型。

注意:static_cast不能转换掉expression的const、volatile、或者__unaligned属性。

static_cast<int>转换的疑问

int array_size = 4 cout << log(static_cast<double>(array_size * 2))/log(static_cast<double>(2)) << endl; cout << static_cast<int>(log(static_cast<double>(array_size *2))/log(static_cast<double>(2))) << endl; 楼主你自己编译器的问题吧...我VS2010输出也是3 其他的几个16 32都试了也是对的...

那个static_cast是什么意思?

c++显示转换的一种。

显示的执行某种定义明确的类型转换,常用于代替编译器隐式执行的类型转换。

格式: double slope= static_cast<double>(j) / i; //进行强制类型转换以便执行浮点数除法

dynamic_cast 与static_cast的区别

一个动态转换,一个是静态转换。

一般情况下使用static_case<类型> 就可以了。

同时,这个只有在高版本的C++编译器中才能识别。

dynamic_cast是试探映射,如dynamic_cast<A>*pB意思是“我希望它是A*,并打算要求它是”。

它通常被称为类层次的动态导航。

而static_cast通常可用于类层次的静态导航,无映射变换,窄化变换(会丢失信息)等等,static_cast的应用要广一些,但如前所提到的,在类层次导航变换中我们应该使用前者,因为后者static_cast可能意味着冒险(比如变换时类似于强制转换一样丢失信息)。

但是在一个类层次中没有虚函数或者我们确定有其他允许我们安全向下映射的信息则后者static_cast更快一些。

RepriseHosting:$27.97/月-L5640,16G内存,1TB硬盘,10TB月流量,西雅图机房

RepriseHosting是成立于2012年的国外主机商,提供独立服务器租用和VPS主机等产品,数据中心在美国西雅图和拉斯维加斯机房。商家提供的独立服务器以较低的价格为主,目前针对西雅图机房部分独立服务器提供的优惠仍然有效,除了价格折扣外,还免费升级内存和带宽,商家支持使用支付宝或者PayPal、信用卡等付款方式。配置一 $27.97/月CPU:Intel Xeon L5640内存:16GB(原...

欧路云(22元/月),美国CERA弹性云服务器!香港弹性云服务器15元/月起;加拿大高防vps仅23元/月起

欧路云怎么样?欧路云主要运行弹性云服务器,可自由定制配置,可选加拿大的480G超高防系列,也可以选择美国(200G高防)系列,也有速度直逼内地的香港CN2系列。所有配置都可以在下单的时候自行根据项目 需求来定制自由升级降级 (降级按天数配置费用 退款回预存款)。2021年7月14日美国 CERA 弹性云服务器 上新 联通CUVIP 线路!8折特惠中!点击进入:欧路云官方网站地址付款方式:PayPa...

提速啦(69元起)香港大带宽CN2+BGP独享云服务器

香港大带宽服务器香港大带宽云服务器目前市场上可以选择的商家十分少,这次给大家推荐的是我们的老便宜提速啦的香港大带宽云服务器,默认通用BGP线路(即CN2+BGP)是由三网直连线路 中国电信骨干网以及HGC、NTT、PCCW等国际线路混合而成的高品质带宽(精品带宽)线路,可有效覆盖全球200多个国家和地区。(适用于绝大部分应用场景,适合国内外访客访问,域名无需备案)提速啦官网链接:点击进入香港Cer...

static_cast为你推荐
mergefield邮件合并中如何插入百分数excel大写金额在Excel中如何输入数字直接显示大写金额?excel大写金额怎么用Excel将小写金额转换成人民币的大写金额excel大写金额在EXCEL表格里怎样自动生成金额大写cursorlocation在ENVI中双击遥感图像出来个CURSOR LOCATION/value对话框。下面有个LL : 31?6'21.84"N, 117?9'11.78"E在线沟通网络沟通的问题有哪些driversbackup电脑里有个“Backup”文件夹是干什么的android_secureandroid secure文件是什么?在手机的哪里学习黑客技术0基础如何学习黑客?我要学习黑客技术谁可以教我?mpeg4格式MPEG4的视频格式是什么?
如何查询域名备案号 免费顶级域名 云主机51web css样式大全 anylink 什么是刀片服务器 免费防火墙 如何用qq邮箱发邮件 台湾谷歌 云服务器比较 ledlamp 深圳域名 成都主机托管 免备案cdn加速 卡巴斯基官网下载 WHMCS server2008 德国代理ip bwg 大容量存储控制器 更多