使用场景

static_cast 静态类型转换。如int转化成char
reinterpret_cast 重新解释类型
dynamic_cast 命名上理解是动态类型转换,如子类和父类之间的多态类型转换
const_cast 字面上理解就是去const属性

类型转换介绍

static_cast<>() 静态类型转换,编译时c++编译器会做类型检查
若不同类型之间,进行强制类型转换,reinterpret_cast<>() 进行重新编译
dynamic_cast<>() 动态类型转换,安全的基类和子类之间转换,运行时类型检查
const_cast<>() 去除变量的只读属性

三种使用形式

dynamic_cast<type*> (e) //e必须为指针
dynamic_cast<type&> (e) // e 必须为一个左值
dynamic_cast<type&&> (e) //e不能是左值

参考

https://blog.csdn.net/lpl312905509/article/details/104046600

C++ static_cast和dynamic_cast相关推荐

  1. static_cast、dynamic_cast、const_cast和reinterpret_cast总结

    前言 这篇文章总结的是C++中的类型转换,这些小的知识点,有的时候,自己不是很注意,但是在实际开发中确实经常使用的.俗话说的好,不懂自己写的代码的程序员,不是好的程序员:如果一个程序员对于自己写的代码 ...

  2. C/C++ 之 C++强制类型转换(static_cast、dynamic_cast、const_cast、reinterpret_cast)

    文章转载自:https://www.cnblogs.com/chenyangchun/p/6795923.html .在了解这块时,发现了这篇文档,感觉写的很不错! c强制转换与c++强制转换 c 语 ...

  3. 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast(转载)

    C 风格(C-style)强制转型如下: (T) exdivssion // cast exdivssion to be of type T 函数风格(Function-style)强制转型使用这样的 ...

  4. static_cast、dynamic_cast、reinterpret_cast、const_cast[转]

    C-style cast举例: int i; double d; i = (int) d; 上面的代码就是本来为double类型的d,通过(int)d将其转换成整形值,并将该值赋给整形变量i (注意d ...

  5. static_cast、dynamic_cast、reinterpret_cast、和const_cast

    (转自http://hi.baidu.com/seekvista/blog/item/87845a60ae248845ebf8f8dd.html) 关于强制类型转换的问题,很多书都讨论过,写的最详细的 ...

  6. static_cast与dynamic_cast转换

    static_cast与dynamic_cast转换 C语言中两种类型转换 隐式转换和显式转换 隐式转换:不同数据类型之间赋值和运算,函数调用传递参数,由编译器完成. char ch; int i = ...

  7. C++类型转换运算符 static_cast,dynamic_cast,reinterpret_cast,const_cast

    类型转换是一种让程序猿可以临时或永久性改变编译器对对象的解释机制.可改变对象解释方式的运算符称为类型转换运算符. 为何须要进行类型转换 通常为了实现使用不同环境的个人和厂商编写的模块可以相互调用和协作 ...

  8. 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast

    C 风格(C-style)强制转型如下: (T) exdivssion // cast exdivssion to be of type T 函数风格(Function-style)强制转型使用这样的 ...

  9. 常规投放vs. static_cast与dynamic_cast [重复]

    class="question-status question-originals-of-duplicate"> 这个问题已经在这里有了答案: 什么时候应该使用static_ ...

  10. c++ 数据类型转换: static_cast、dynamic_cast、reinterpret_cast和const_cast

    [目录] 引言 static_cast 定义 dynamic_cast 定义 举例:下行转换(把基类的指针或引用转换成子类表示) 举例:上行转换(把子类的指针或引用转换成基类表示) 举例: stati ...

最新文章

  1. 请你要幸福 这是 你唯一能为我做到的
  2. 3142:[HNOI2013]数列 - BZOJ
  3. c语言中int*point 其中point是指针变量名,2012年计算机等级二级C语言章节习题及答案(9)...
  4. Python 字符串的内置函数
  5. mysql hive 安装 配置_hive 安装配置部署与测试
  6. 微信再次“杠上”支付宝!|畅言
  7. 比对两个数据库中数据表结构异同
  8. 解决使用elementUI框架el-upload跨域上传时session丢失问题
  9. python可用编程模块规模多大_哪些Python模块可用于编程竞赛?
  10. 英国大概率退出欧盟!
  11. hexo博客搭建及主题优化(二)
  12. 深入理解LSTM神经网络
  13. 硬盘容量统计神器WinDirStat
  14. 如何利用PS动作一秒将字体生成逼真刺绣效果
  15. 【转】上大数学系博士点
  16. wince 百度地图懒人包_百度导航车载wince版下载
  17. 《2022年 Android 中高级面试题汇总》及答案整理(备战金九银十)
  18. jena 查询 java_Jena搭建SPARQL查询RDF数据
  19. Python基础 —— 输入输出
  20. image标签不显示照片img标签能显示

热门文章

  1. 创建MyOffice项目
  2. 【收藏】Windows 8 Consumer Preview的108个运行命令及简要说明
  3. member selection 运算符是什么
  4. spark 添加依赖_单机用python写spark处理20G的数据
  5. 一张表不能超过多少索引_论文一般查重率不能超过多少
  6. python编写窗口怎么清除内容_如何删除或销毁tkinter中的标签?
  7. 拓端tecdat|R语言股票收益分布一致性检验KS检验Kolmogorov-Smirnov、置换检验Permutation Test可视化
  8. (20)python_matplotlib解决中文乱码问题
  9. (17)python_字典
  10. Java分词处理测试