page contents

类型转换分为哪几种?各自有什么样的特点?

轩辕小不懂 发布于 2022-01-06 14:18
阅读 462
收藏 0
分类:C/C++开发
2827
Nen
Nen
- 程序员

static_cast:用于基本数据类型之间的转换、子类向父类的安全转换、void*和其他类型指针之间的转换;

const_cast:用于去除const或volatile属性;

dynamic_cast:用于子类和父类之间的安全转换,可以实现向上向下转换,因为编译器默认向上转换总是安全的,而向下转换时,

dynamic_cast具有类型检查的功能;

dynamic_cast转换失败时,对于指针会返回目标类型的nullptr,对于引用会返回bad_cast异常;

reinterpret_cast:用于不同类型指针之间、不同类型引用之间、指针和能容纳指针的整数类型之间的转换。

请先 登录 后评论