【面经】【转】C++类型转换

时间:2024-06-07 20:06:44

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.