【面经】【转】C++类型转换
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:type b = (type) a。
C++风格的类型转换提供了4种类型转换操作符来应对不同场景的应用。
const_cast,字面上理解就是去const属性;
static_cast,命名上理解是静态类型转换;
dynamic_cast,命名上理解是动态类型转换;
reinterpret_cast,仅仅重新解释类型,但没有进行二进制的转换。
总结:
1、去const属性用const_cast.
2、基本类型转换用static_cast.
3、多态类之间的类型转换用daynamic_cast.
4、不同类型的指针类型转换用reinterpret_cast.