码迷,mamicode.com
首页 > 编程语言 > 详细

C++类型转换

时间:2020-06-01 00:53:03      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:其他   强制类型转换   ++   类型转换   指针   C++类型转换   数据   cas   new   

1.C语言强制类型转换,Type b = (Type)a,这种不安全,转换前没有类型检查。例如:

  char *pChar = new char;
   int *pInt =  (int *)pChar;

  这种是从小的地址(char *)转换为大的地址(int *),虽然可以编译过,但是有可能访问不安全的地址。

2.C++提供了四种类型转换,分别适用于其他场景

(1)static_cast : 用于一般的数据类型转换,和具有继承关系的指针或引用。

(2)dynamic_cast : 只能转换具有继承关系的指针或引用,但是当转换继承关系的指针时,只能由子类指针转换为父类指针,也就是大地址转换为小地址,否则地址越界。

C++类型转换

标签:其他   强制类型转换   ++   类型转换   指针   C++类型转换   数据   cas   new   

原文地址:https://www.cnblogs.com/zwj-199306231519/p/13022513.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!