• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C++ 中dynamic_cast<>的使用方法小结

C++ 中dynamic_cast<>的使用方法小结

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c++ dynamic cast,dynamic cast,dynamic cast的用法,osg dynamic cast,dynamic cast 效率等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
       即会作一定的判断。
       对指针进行dynamic_cast,失败返回null,成功返回正常cast后的对象指针;
       对引用进行dynamic_cast,失败抛出一个异常,成功返回正常cast后的对象引用。

注意:dynamic_cast在将父类cast到子类时,父类必须要有虚函数。例如在下面的代码中将CBasic类中的test函数不定义成
       virtual时,编译器会报错:error C2683: dynamic_cast : “CBasic”不是多态类型

对编译器的要求:
       dynamic_cast<> 会用到RTTI技术,因此需要启动“运行时类型信息”这一选项,而在VC.net 2003中默认是关闭的。
       所以需要人为的启动这一选项。否则编译器会报下面的警告:

         warning C4541: “dynamic_cast”用在了带 /GR- 的多态类型“CBasic”上;
       可能导致不可预知的行为从而导致程序在运行时发生异常。
该设置在 Project->Setting中 C/C++ -> C++ Language中设置。
*/
  </div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 解析C++编程中的bad_cast异常
  • c++ dynamic_cast与static_cast使用方法示例
  • C++中4种类型转换方式 cast操作详解
  • C++ 中dynamic_cast&lt;&gt;的使用方法小结

相关文章

  • 2017-05-28C语言设计一个闪闪的圣诞树
  • 2017-05-28C++通过自定义函数求一元二次方程的根
  • 2017-05-28深入理解C++的对象模型
  • 2017-05-28字符串的模式匹配详解--BF算法与KMP算法
  • 2017-05-28数据结构之AVL树详解
  • 2017-05-28C++中memset函数用法详解
  • 2017-05-28用Visual Studio2017写C++静态库图文详解
  • 2017-05-28Microsoft Visual C++ 程序的部署方法
  • 2017-05-28VC动态生成菜单项的实现方法
  • 2017-05-28VC++中进程与多进程管理的方法详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C语言程序设计50例(经典收藏)
    • C语言实现双向链表
    • 深入理解C语言内存对齐
    • 详谈c++11 final与override说明符
    • C++设计类不能被继承的方法实例讲解
    • C++ COM编程之QueryInterface函数(二)
    • VC++实现文件与应用程序关联的方法(注册表修改)
    • 求子数组最大和的解决方法详解
    • 从汇编看c++中多态的应用
    • c语言实现输入一组数自动从大到小排列的实例代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有