C++类型转换

2020-12-29 23:29

阅读:632

标签:其他   强制类型转换   ++   类型转换   指针   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


评论


亲,登录后才可以留言!