c++:强制类型转换

 static_cast<>()

用于任何隐式转换,非const到const的转换,void*到特点类型指针的转换,还可用于继承关系中子类到基类的转换。

 

const_cast<>()

将const变量转换为非const变量

 

dynamic_cast<>()

用于继承关系的对象的指针和引用的转换。

可实现从基类到子类的转换,和子类到基类的转换。

 

reinterpret_cast<>()

任意类型都可转换,比如说将int转成指针,将int*转成char*等

“reinterpret_cast 运算符并不会改变括号中运算对象的值,而是对该对象从位模式上进行重新解释”

https://zhuanlan.zhihu.com/p/33040213

 

与c语言的强制转换相比:

更加安全。

可以进行错误校验。

 

posted @ 2022-02-09 21:04  Dylan_Liang  阅读(28)  评论(0编辑  收藏  举报