C++学习笔记:类型转换

类型转换操作符

static_cast

没有run-time类型检查;

不能直接进行指针类型的转换,先要转换为void*,再转换为目标指针类型;

dynamic_cast

upcast时,是implicit conversion,总是安全的;

downcast时,有run-time类型检查,检查是否真正指向一个完整的对象;

在多继承时,为避免转换的歧义,使用分步骤转换;

如果转换失败,返回NULL指针,或者抛出异常(对于引用);

const_cast

消除const/volatile/__unaligned

reinterpret_cast

用于指针类型之间的转换;

指针<-->指针

指针<-->整形

数值类型的转换

todo

你可能感兴趣的:(学习笔记)