在C++中,数据类型转换有两种方式:
隐式转换(Implicit Conversion):由编译器自动进行的数据类型转换。比如,将整型值赋值给浮点型变量时,编译器会自动将整型值转换为浮点型。
显式转换(Explicit Conversion):由程序员手动进行的数据类型转换。在C++中,有以下四种转换方式:
a. static_cast:用于非多态类型之间的转换,比如将int转为float。
b. dynamic_cast:用于多态类型之间的转换,比如将基类指针转为派生类指针。
c. const_cast:用于去除常量属性,比如将const int转为int。
d. reinterpret_cast:用于底层的重新解释类型,比如将指针类型转为整型。
例如,将int转为float可以使用static_cast<float>(num),将char转为int可以使用(int)ch或者static_cast<int>(ch)。