尽量使用C++风格的类型转换
1.static_cast<type>(expression)大部分功能等价于C风格的(type)expression,但是不能像C分格的类型转换把struct转换成int,或者把double转换成指针类型,也不能去除const属性
2.const_cast用来转换掉表达式的const或volatileness属性,但是除此之外的类型转换将会被编译器拒绝
3.dynamic_cast把指向基类的指针或引用转换成指向其派生类或其兄弟类的指针或引用,失败时返回空指针或抛出异常,它也仅限这个功能,职能不能跨界
4.reinterpret_cast用于函数指针类型转化,不到万不得已不要用,代码不能移植
1.static_cast<type>(expression)大部分功能等价于C风格的(type)expression,但是不能像C分格的类型转换把struct转换成int,或者把double转换成指针类型,也不能去除const属性
2.const_cast用来转换掉表达式的const或volatileness属性,但是除此之外的类型转换将会被编译器拒绝
3.dynamic_cast把指向基类的指针或引用转换成指向其派生类或其兄弟类的指针或引用,失败时返回空指针或抛出异常,它也仅限这个功能,职能不能跨界
4.reinterpret_cast用于函数指针类型转化,不到万不得已不要用,代码不能移植