关键字:
const_cast //取消const的限制
示例:
const int i = 3;
int* p = const_cast<int*>(&i);
*p = 4;
关键字:
dynamic_cast //用于类继承层次间的指针或引用转换
//把一个指向子类对象的父类指针转为子类指针
//把一个指向子类对象的父类引用转为子类引用
//指针转换失败会返回nullptr
//引用转换失败会抛出异常
//因为有安全检查,所以时安全的。不过类型检查需要运行时类型信息
//这个信息位于虚函数表中,所以必须有虚函数
性能不高,但是安全
关键字:
static_cast //基本的类型转换(不能对毫无关联的数据进行转换)
关键字:
reinterpret_cast //非关联类型的转换,二进制层面的拷贝
//不会改变二进制层面的数据
//只是改变它的读取方式
//没有类型检查