4个类型转换关键字

原创 2015年07月06日 19:20:16
  • const_cast
  • static_cast
  • dynamic_cast<>
  • reienterpret_cast<>
    经常不被使用的是3和4,重点说之。

dynamic_cast在类的继承关系的前提下使用,没有继承关系的类之间转换会为空。其中虚函数的特性非常重要,在这里重点体现;
如果没有虚函数,该转换也会发生问题。(经常在书上看到RTTI特性和此相关的说明,可能就是这个问题)
1.基类转换到子类,发生错误;(其实也不是错误,就是为空了)(安全性检测的重要性,也就是说不要把基类转换到子类)
2.子类转换到基类,正确,也就是常说的向下转换,调用的也是相应的虚函数;
(测试中发现问题,很简单,用到该关键字就要考虑继承的类之间是否有虚函数表)

reienterpret_cast:
可以把一个指针转换为非指针,同理也可以把非指针转换为指针,很神奇,慎用之。

版权声明:本文为博主原创文章,未经博主允许不得转载。

C++与类型转换相关的四个关键字及其特点

首先,C++与类型转换相关的四个关键字有:const_cast, static_cast, dynamic_cast, reinterpret_cast. 什么是类型转换? 表达式是否合法...
  • u012175277
  • u012175277
  • 2015年10月11日 07:42
  • 2017

C++四种类型转换的关键字及其特点

C++四种类型转换的关键字及其特点 原文地址:http://blog.sina.com.cn/s/blog_5a2bbc860101hgho.html C++的四种强制类型转换,所以C++不是类型...
  • u010025211
  • u010025211
  • 2015年09月21日 15:08
  • 1171

C++中的4个类型转换关键字

1 reinterpret_cast 'reinterpret_cast'转换一个指针为其它类型的指针。它也允许从一个指针转换为整数类型。反之亦然。(译注:是指针具体的地址值作为整数值) 这个操作符...
  • FENGQIYUNRAN
  • FENGQIYUNRAN
  • 2015年02月24日 10:23
  • 761

c++中转换类型的4个关键字

c++中与类型转换相关的关键字:static_cast, const_cast, reinterpret_cast, dynamic_cast
  • wenqiang1208
  • wenqiang1208
  • 2017年01月17日 19:11
  • 249

C++中的4个类型转换关键字

本文转自 http://poplars.blog.163.com/blog/static/1394221742013021111210567/,版权归原作者所有。 1、const_cast ...
  • jbhand
  • jbhand
  • 2013年07月17日 08:58
  • 697

标准C++四个类型转换详解

C++中的类型转换分为两种: 1.      隐式类型转换(而对于隐式变换,就是标准的转换,在很多时候,不经意间就发生了,比如int类型和float类型相加时,int类型就会被隐式的转换位float类...
  • fanyun_01
  • fanyun_01
  • 2016年05月31日 15:27
  • 3619

C++中的4个与类型转换相关的关键字

在C/C++语言中用 (type) value(在C++还可以采用type(value))来进行显式类型转换(explicit type conversion),常常又被称为强制转换(cast投射/铸...
  • zmmdyyyc
  • zmmdyyyc
  • 2014年06月11日 15:09
  • 529

C++与类型转换相关的4个关键字

什么是类型转换? 表达式是否合法取决于操作数的类型,而且合法的表达式其含义也由操作数类型决定。但是在C++中,某些类型之间存在相关的依赖关系。若两种类型相关,则可在需要某种类型的操作数位置上,使用该类...
  • njustzj001
  • njustzj001
  • 2015年01月06日 11:28
  • 964

C++/面试 - 四种类型转换(cast)的关键字 详解 及 代码

四种类型转换(cast)的关键字 详解 及 代码 本文原创, 禁止转载, 如有需要, 请站内联系. 本文地址: http://blog.csdn.net/caroline_wendy/articl...
  • u012515223
  • u012515223
  • 2014年02月10日 17:08
  • 3228

C++中4个与类型转换相关的关键字

1 reinterpret_cast 'reinterpret_cast'转换一个指针为其它类型的指针。它也允许从一个指针转换为整数类型。反之亦然。(译注:是指针具体的地址值作为整数值?) 这...
  • u014742683
  • u014742683
  • 2014年09月28日 18:59
  • 169
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:4个类型转换关键字
举报原因:
原因补充:

(最多只允许输入30个字)