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更快一些。

Virmach:1核/512M1核M1核512M/夏季美国vps促销,年付$7.2,9月更换AMD平台

virmach怎么样?virmach家这几年非常火,从商家的黑五闪购开始,以超低的价格吸引了大批的国人客户,而且商家的机器还是非常稳定的,站长手里的4.75刀年付已经用了两年了,非常稳定,不过商家到国内的线路一般,目前商家新上了夏季优惠促销,价格低到发指,年付7.2美元起,商家反馈将在9月开始更换AMD+NVMe平台,这个消息从年初就有了,不过一直没有更换,目前这个时间也不确定是否准确。点击进入:...

VirMach:$27.3/月-E3-1240v1/16GB/1TB/10TB/洛杉矶等多机房

上次部落分享过VirMach提供的End of Life Plans系列的VPS主机,最近他们又发布了DEDICATED MIGRATION SPECIALS产品,并提供6.5-7.5折优惠码,优惠后最低每月27.3美元起。同样的这些机器现在订购,将在2021年9月30日至2022年4月30日之间迁移,目前这些等待迁移机器可以在洛杉矶、达拉斯、亚特兰大、纽约、芝加哥等5个地区机房开设,未来迁移的时...

iON Cloud:七月活动,洛杉矶CN2 GIA线路85折优惠中,价格偏高/机器稳定/更新优惠码

iON Cloud怎么样?iON Cloud是Krypt旗下的云服务器品牌,成立于2019年,是美国老牌机房(1998~)krypt旗下的VPS云服务器品牌,主打国外VPS云服务器业务,均采用KVM架构,整体性能配置较高,云服务器产品质量靠谱,在线率高,国内直连线路,适合建站等用途,支付宝、微信付款购买。支持Windows server 2012、2016、2019中英文版本以及主流Linux发行...

static_cast为你推荐
createfile失败CreateFile失败,代码5拒绝访问(高分在线求助!!!)scriptmanagerajax ToolkitScriptManager与ScriptManager的区别databasenamefoxpro中的的命令格式camel是什么意思“压垮骆驼的最后一根稻草”是什么意思?达思数据恢复diskgenius数据恢复怎么用学习黑客技术怎样学习黑客?学习黑客技术应该从什么开始?mpeg4格式什么是MPEG4视频格式手机java智能手机和JAVA的手机区别?免费开网店淘宝小店如何免费开?java机构JAVA有哪些培训机构
域名反查 汉邦高科域名申请 希网动态域名 arvixe 私服服务器 域名优惠码 新站长网 中国特价网 阿里校园 网页提速 xuni 域名转入 国外免费云空间 创速 贵州电信 湖南铁通 ftp是什么东西 西部主机 paypal登陆 vim 更多