提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
c++中显式转换有如下几种,static_cast, dynamic_cast, const_cast和reinterpret_cast
提示:以下是本篇文章正文内容,下面案例可供参考
一、static_cast
任何具有明确定义的类型转换,只要不包含底层const,都可以使用static_cast.
static_cast在执行由大的算数类型向小的算数类型转换的过程中就相当于告诉编译器和读者,哥们不在乎这些精度损失,所以编译器不会给出warning信息。同时static_cast还能做一些编译器无法自动执行的类型转换,例如将void * 中的值读出来
二、const_cast
const_cast智能改变运算对象的底层const,可以去掉对象的const属性,一般不会用它
三、reinterpret_cast
强制的类型转换,血马逆天,用的话也是对指针类型进行转换