dynamic_cast < type-id > ( expression )

该运算符把expression转换成type-id类型的对象。Type-id必须是类的指针、类的引用或者void*;
如果type-id是类指针类型,那么expression也必须是一个指针,如果type-id是一个引用,那么expression也必须是一个引用。
dynamic_cast运算符可以在执行期决定真正的类型。如果downcast是安全的(也就说,如果基类指针或者引用确实指向一个派生类对象)这个运算符会传回适当转型过的指针。如果downcast不安全,这个运算符会传回空指针(也就是说,基类指针或者引用没有指向一个派生类对象)。
dynamic_cast主要用于类层次间的上行转换和下行转换,还可以用于类之间的交叉转换。
在类层次间进行上行转换时,dynamic_caststatic_cast的效果是一样的;
在进行下行转换时,dynamic_cast具有类型检查的功能,比static_cast更安全。

最新文章

  1. MyEclipse运行前自动保存
  2. java输出任意两个日期之间有多少天
  3. IE10、IE11 User-Agent 网站无法写入Cookie 问题[转]
  4. Phonegap在ios7上系统状态栏的问题解决
  5. mac os develop
  6. js 如何创建一个对象
  7. Common Configration实验
  8. Unity3D 获得GameObject组件的方法
  9. 【转】android 完全退出应用程序
  10. JavaScript 数组操作备忘
  11. PHP基础入门(五)---PHP面向对象
  12. java单点登录原理与简单实现
  13. CRM客户关系管理系统(九)
  14. UML 资料整理
  15. Netty中ByteBuf 的零拷贝
  16. Xamarin Essentials教程数据传输DataTransfer
  17. 性能测试day06_需求设计的学习(性能重中之重,思维方向永远重于工具)
  18. 文本分类-TensorRT优化结果对比图
  19. [Issue]git做rebase时,弹出编辑器为nano,不会使用
  20. 我所理解的网络游戏&lt;一&gt;:网游的顶层设计

热门文章

  1. [转] Symbol对象
  2. 34、Android中基于Socket的网络通信(一)
  3. Kafka Unknow host
  4. C++ STL@ list 应用 (leetcode: Rotate Array)
  5. Codeforces Round #138 (Div. 2) ACBDE
  6. Spark生态
  7. [iOS基础控件 - 4.2] APP列表 字典转模型Model
  8. 基于XML数据库的学生信息管理系统的设计与实现
  9. JQuery事件处理的注意事项
  10. KEEPALIVED 检测RS原理