场景
- 在
C++
开发时,会看到四个强制类型转换操作符const_cast
,dynamic_cast
,static_cast
和reinterpret_cast
。其中static_cast
的用在什么场景下?
说明
static_cast
是不安全的转换,不会对类型进行检查。只在一种情况下进行简单检查,即没有继承关系的对象不能转,编译报错。通常用在把指向基类的指针转换为指向子类的指针;可以用在数值类型int
,char
,enum
,float
,double
等之间的转换;一般用在非多态(无virtual
)的类型转换中。
static_cast <type-id> ( expression )
基类向