C++ cast的用法
const_cast<new_type>(expression):用于强制消除对象的常量性
static_cast<new_type>(expression):用于基本数据类型之间的转换,及类层次结构中基类和子类之间指针或引用的转换
reinterpret_cast<new_type>(expression):是C++里的强制类型转换符,只能用于指针
dynamic_cast<new_type>(expression):在运行时检查,用于继承体系中进行安全的向下转换,可用于指针和引用,如果不能转化成功将会返回NULL或抛异常