C++中类型转换

static_cast            静态类型转换。

在编译的时候C++编译器会做类型检查,基本类型能转换,指针类型不进行转换。

C语言中隐式类型转换的地方均可以使用static_cast。

reinterpreter_cast  重新解释类型

若不同类型之间,进行强制类型转换,用reinterpret_cast<>() 进行重新解释

dynamic_cast           命名上理解是动态类型转换。如子类和父类之间的多态类型转换。

运行时类型识别,如果类型转换失败,就会为NULL。父类对象转成子类对象,向下转型

const_cast,            字面上理解就是去const属性。

给只读属性的变量去除只读属性,前提是这个内存地址是可以进行修改的,哪些位于常量区的字符串是不能修改的。

原文地址:https://www.cnblogs.com/andyniu/p/7843118.html