Ponit1:
C++的四种显式数据类型转换:
1 static_cast 静态的转换,所有自动隐形转换的函数都可以使用;消除精度丢失告警
2 const_cast 转换掉表达式的的常量性,如果采用其他方式转换则会出现错误。
extern char *str_copy(char *)
const char *pc_str;
str_copy(const_cast<char *>(pc_str));
3 dynamic_cast
动态转换,基于多态的基础,一般判断基类指针是否是某个concrete类。
4 reinterpret_cast
对操作数的为模式做底层重新解释
总之强制类型转换都十分危险,dynmic_cast 除外。