msdn的解释
强制转换运算符
dynamic_cast
用于多态类型的转换。
static_cast
用于非多态类型的转换。
const_cast
用于删除 const、volatile
和 __unaligned
特性。
reinterpret_cast
用于位的简单重新解释。
dynamic_cast 运算符
语法:
dynamic_cast < type-id > ( expression )
dynamic_cast 只适用于指针或引用,而且运行时类型检查也是一项开销.
即 type-id
必须是指针或引用,或是void*
static_cast 运算符
运算符可用于将指向基类的指针转换为指向派生类的指针等操作。 此类转换并非始终安全。
const_cast 运算符
从类中移除 const、volatile
和 __unaligned
特性.