C++类型转换

C数据类型转换过于简单粗暴,简单粗暴免不了就会出各种问题。C++语言出现之后,将C数据转换又重新细化为4中类型,以此应对C++语言的特性。

官网上的语言太过于晦涩,这里尽量简练描述。

1. const_cast<type>(expression):  c++语言中唯一用来去除const修饰符的运算符

2. dynamic_cast<type>(expression): 通过类型检查,能够进行安全的向下转换,也就是downcast,多重继承中还可以实现sidecast,底层是通过typeid来实现的

3. reinterpret_cast<type>(expression):保留二进制数位的转换,用来将不相关的类型进行无损转换。

4. static_cast<type>(expression): 接近于C风格的转换,如果上述3中转换都不适合,则选择该转换。

posted @ 2020-12-01 19:50  nanbatian119  阅读(59)  评论(0)    收藏  举报