dynamic_cast<>运算符
2015-09-09 20:54
134 查看
(1)dynamic_cast<>用来转换指针和引用,不能转换对象。当目标类型是某种类型的指针时,
如果转换成功则返回目标类型的指针,否则返回NULL;当目标类型是某种类型的引用时,
如果成功则返回目标类型的引用,否则抛出std::bad_cast异常,因为不存在NULL引用。
(2)dynamic_cast<>只能用于多态类型对象,否则导致编译时错误。dynamic_cast<>能够判断
源对象与目标对象之间是否具有is-a关系,这需要在运行时遍历继承树,并且其开销会随着源对象类型与目标类型距离
(层次)的增大而增大。
如果转换成功则返回目标类型的指针,否则返回NULL;当目标类型是某种类型的引用时,
如果成功则返回目标类型的引用,否则抛出std::bad_cast异常,因为不存在NULL引用。
(2)dynamic_cast<>只能用于多态类型对象,否则导致编译时错误。dynamic_cast<>能够判断
源对象与目标对象之间是否具有is-a关系,这需要在运行时遍历继承树,并且其开销会随着源对象类型与目标类型距离
(层次)的增大而增大。
相关文章推荐
- Cookie跨域操作
- Cookie跨域操作
- 实现aoti() 函数
- 自定义视图、使用视图控制器知识点总结
- 关于学生管理系统的简单操作(数据库应用)
- CSAPP读书笔记——程序的机器级表示之条件跳转与循环
- Scalaz(3)- 基础篇:函数概括化-Generalizing Functions
- 2016华为机试题目:最大的凸多边形
- Scalaz(3)- 基础篇:函数概括化-Generalizing Functions
- 0909 几种控件(1) 蓝懿
- iOS—实现UI imageview的底层
- Android之VideoView播放视频
- [leetcode] Multiply Strings
- MySQL的特点
- Expression Tree Build
- string.length()与-1比较为什么会出现匪夷所思的结果
- 解决虚拟机Ping不同物理主机的问题-----在桥接模式下
- matlab基础学习——数组
- 【JZOJ】4211 送你一棵圣诞树
- POJ - 1287 Networking(最小生成树)