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

vpsdime7美元/月,美国达拉斯Windows VPS,2核4G/50GB SSD/2TB流量/Hyper-V虚拟化

vpsdime怎么样?vpsdime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:vpsdime夏日促销活动,美国达拉斯vps,2G内存/2核/20gSSD/1T流量,$20/年,此次推出一款Wi...

一键去除宝塔面板各种计算题与延时等待

现在宝塔面板真的是越来越过分了,删除文件、删除数据库、删除站点等操作都需要做计算题!我今天升级到7.7版本,发现删除数据库竟然还加了几秒的延时等待,也无法跳过!宝塔的老板该不会是小学数学老师吧,那么喜欢让我们做计算题!因此我写了个js用于去除各种计算题以及延时等待,同时还去除了软件列表页面的bt企业版广告。只需要执行以下命令即可一键完成!复制以下命令在SSH界面执行:Layout_file="/w...

BGP.TO日本和新加坡服务器进行促销,日本服务器6.5折

BGP.TO目前针对日本和新加坡服务器进行促销,其中日本东京服务器6.5折,而新加坡服务器7.5折起。这是一家专门的独立服务器租售网站,提供包括中国香港、日本、新加坡和洛杉矶的服务器租用业务,基本上都是自有硬件、IP资源等,国内优化直连线路,机器自动化部署上架,并提供产品的基本管理功能(自助开关机重启重装等)。新加坡服务器 $93.75/月CPU:E3-1230v3内存:16GB硬盘:480GB ...

static_cast为你推荐
windowsmedia电脑程序打开方式变成Windows Media Player怎么改回来gps数据格式怎样把GPS测量数据DAT文件转换成EXEL文件?oledbdatareader根据输入信息读取数据库中的数据,总是在执行OleDbDataReader reader = cmd.ExecuteReader()时通不过,动态图片格式常见的动态图像文件格式有哪些?云输入法如何使用QQ云输入法?selectintoACCESS中提示“不允许在select into语句中使用多值字段”云办公平台Gleasy云办公平台解决了哪些问题?网站客服代码在线客服系统的代码添加到网站中,要怎么做?微盟价格为什么这么多人用微盟,微盟都有哪些优势微盟价格微盟怎么收费?
unsplash 美国php主机 一元域名 gg广告 蜗牛魔方 qingyun jsp空间 东莞服务器 银盘服务 双12 360云服务 空间登入 华为云建站 lamp什么意思 阿里dns 数据湾 google搜索打不开 cx域名 傲盾代理 硬防 更多