C++: 类型转换

const_cast: 消除变量的常量属性,将常量赋值给变量后可进行修改,可以消除常量指针和常量引用。

static_cast: 显示的类型转换,C语言中的强制类型转换可以用此代替,但是不执行类型安全检查,支持所有有意义的类型转换。

reinterpret_cast: 重定义类型转换,可以将两个毫无关系的类型实现类型间转换,但通常不建议这么做,可能一些编译器不支持,通常的方式是,将其他类型转换成void*,或者将void*转换成其他类型。运行时不做类型检查。

dynamic_cast:支持类继承方式的类型转换,可以转换拥有类继承结构的指针或引用转换,支持运行时类型检测,测试后只支持向上转型,不支持向下转型。


猜你喜欢

转载自blog.csdn.net/jekcai/article/details/80202834