1. 首页
  2. 课程学习
  3. 讲义
  4. C++中的类型转换static_cast、dynamic_cast、const_cast和reinterpret_cast总结

C++中的类型转换static_cast、dynamic_cast、const_cast和reinterpret_cast总结

上传者: 2020-09-11 07:51:29上传 PDF文件 103.7KB 热度 13次

而关于隐式转换不是今天总结的重点,重点是显式转换。在标准C++中有四个类型转换符:static_cast、dynamic_cast、const_cast和reinterpret_cast;下面将对它们一一的进行总结。dynamic_cast主要用于类层次间的上行转换和下行转换,还可以用于类之间的交叉转换。在多态类型之间的转换主要使用dynamic_cast,因为类型提供了运行时信息。上面就是对于dynamic_cast转换的一些细节知识点,特别是对于多重继承的情况,在实际项目中,很容易出现问题。const_cast的转换格式:const_cast const_cast用来将类型的const、volatile和__unaligned属性移除。常量指针被转换成非常量指针,并且仍然指向原来的对象;常量引用被转换成非常量引用,并且仍然引用原来的对象。reinterpret_cast的转换格式:reinterpret_cast 允许将任何指针类型转换为其它的指针类型;听起来很强大,但是也很不靠谱。

下载地址
用户评论