c++中“static_cast”有什么用?
展开全部
static_cast在C++中用于将表达式的值转换为指定的类型,但没有运行时类型检查来保证转换的安全性。
主要有以下用法:
(1)用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。
(2)用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。这种转换的安全性也要开发人员来保证。
(3)把空指针转换成目标类型的空指针。
(4)把任何类型的表达式转换成void类型。
注意:static_cast不能转换掉expression的const、volatile、或者__unaligned属性。
主要有以下用法:
(1)用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。
(2)用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。这种转换的安全性也要开发人员来保证。
(3)把空指针转换成目标类型的空指针。
(4)把任何类型的表达式转换成void类型。
注意:static_cast不能转换掉expression的const、volatile、或者__unaligned属性。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
强制转化,就是把一个类型的变量a强制赋值给另外类型的变量b,如果能成功,变量b就具有一个值,如果不能成功就抛出一个错误。
C++共有四种转换:static_cast,dynamic_cast,reinterpret_cast,const_cast
static_cast相当于传统的C语言里的强制转换,效果就相当于加个括号:int
a=(long)b;
建议用搜索一下
static_cast
这个词,你能学到更多东西。
C++共有四种转换:static_cast,dynamic_cast,reinterpret_cast,const_cast
static_cast相当于传统的C语言里的强制转换,效果就相当于加个括号:int
a=(long)b;
建议用搜索一下
static_cast
这个词,你能学到更多东西。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询