类型转换操作符
static_cast
没有run-time类型检查;
不能直接进行指针类型的转换,先要转换为void*,再转换为目标指针类型;
dynamic_cast
upcast时,是implicit conversion,总是安全的;
downcast时,有run-time类型检查,检查是否真正指向一个完整的对象;
在多继承时,为避免转换的歧义,使用分步骤转换;
如果转换失败,返回NULL指针,或者抛出异常(对于引用);
const_cast
消除const/volatile/__unaligned
reinterpret_cast
用于指针类型之间的转换;
指针<-->指针
指针<-->整形
数值类型的转换
todo