C++的四种cast——static_cast

static_cast相当于将C语言中的隐式转换用显示的方式表达出来

float f = 1.01;
int a = f;
int b = static_cast<int>(f);

用法:static_cast < type-id > ( exdivssion ) 
该运算符把exdivssion转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:

(1)上行安全:派生类到基类

(2)下行不安全:基类到派生类

(3)基础数据类型的转换。int、char等之间的转换。

(4)把空指针转换为指定类型的空指针。

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

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

 

posted @ 2022-05-09 19:47  suppersam  阅读(264)  评论(0编辑  收藏  举报