类型转化运算符(转型)
目的:更严格地限制允许的类型转换,使转换过程更规范。
dynamic_cast
有 H 和 L 两个类,有指向两个类的指针ph,pl;
仅当 L 是 H 的可访问基类(直接或间接)使,才将【L *】指针 赋给 pl
即 pl= dynamic_cast< L * > ph;
否则返回空指针;
用途:在类层次结构中进行向上转换,而不允许其他转换。
const_cast
用于改变有无const;
H bar;
const H* pbar = &bar;
H* pb = const_cast< H* >(pbar);
static_cast
用于 转换双方可以进行隐式转化,例 类层次向上或向下的转换 double转换为int
reinterpret_cast
用于危险的类型转换,使用场景应该较少。