为了账号安全,请及时绑定邮箱和手机立即绑定

求解释,在c++中static_cast是干嘛的啊?有什么特殊含义吗?

求解释,在c++中static_cast是干嘛的啊?有什么特殊含义吗?

大话西游666 2021-06-21 14:14:57
哪位大神说具体点。感激不尽
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

强制转化,就是把一个类型的变量a强制赋值给另外类型的变量b,如果能成功,变量b就具有一个值,如果不能成功就抛出一个错误。
C++共有四种转换:static_cast,dynamic_cast,reinterpret_cast,const_cast
static_cast相当于传统的C语言里的强制转换,效果就相当于加个括号:int a=(long)b;
建议用搜索一下 static_cast 这个词,你能学到更多东西。

查看完整回答
反对 回复 2021-06-28
?
MM们

TA贡献1886条经验 获得超2个赞

static_cast在C++中用于将表达式的值转换为指定的类型,但没有运行时类型检查来保证转换的安全性。
主要有以下用法:
(1)用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。
(2)用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。这种转换的安全性也要开发人员来保证。
(3)把空指针转换成目标类型的空指针。
(4)把任何类型的表达式转换成void类型。
注意:static_cast不能转换掉expression的const、volatile、或者__unaligned属性。



查看完整回答
反对 回复 2021-06-28
  • 2 回答
  • 0 关注
  • 514 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信