强制类型转换运算符—C++基础篇

VC++中的 四种强制转换类型运算符 ,const_castreinterpret_caststatic_castdynamic_cast
1,
static_cast<T*>(a) 
  
 将地址a转换成类型T,T和a必须是指针、引用、算术类型或枚举类型。 
  
 表达式static_cast<T*>(a), a的值转换为模板中指定的类型T。在运行时转换过程中,不进行类型检查来确保转换的安全性
Fox example:
class B { ... };
class D : public B { ... };
void f(B* pb, D* pd) 
{
D* pd2 = static_cast<D*>(pb);        // 不安全, pb可能只是B的指针
B* pb2 = static_cast<B*>(pd);        // 安全的 
}


你可能感兴趣的:(类型转换)