C++中的类型转换 1.指针转数字static_cast< unsigned int>(reinterpret_cast(指针)) 2.数字转指针reinterpret_cast 1.指针转数字 static_cast< unsigned int>(reinterpret_cast<unitptr_t>(指针)) 2.数字转指针 reinterpret_cast<xx*>(static_cast<unitptr_t>(数字)) 3.不想干的指针互相强转(除void*外) reinterpret_cast<xx*>(指针) 4.void*和其他类型指针互转 从void*转换到其他类型指针,使用static_cast<>() 从其他类型指针转换到void*,可以不需要显示转换 void*与函数指针之间的互转,用reinterpret_cast<>() 5.子类指针强转为基类指针 建议修改方式:static_cast<xx*>(指针) 注:可以不需要显示转换 6.基类指针强转为子类指针 建议修改方式:dynamic_cast<xx*>(指针) 7.字符串常量转指针,去除const属性 建议修改方式:const_cast<xx*>(字符串常量) 8.基本类型之间的强转 static_cast<类型>(变量) 注:如short转int这种仅宽度不同的类型之间的转换,由窄类型转宽类型时,不用显示转换