怎样使用const_cast类型转换

 时间:2024-10-14 00:49:15

1、首先定义基类CLow,然后实现对应代码

怎样使用const_cast类型转换

2、然后定义子类CHigh, 继承CLow, 然后实现对应代码

怎样使用const_cast类型转换

3、完成上面的基础代码之后,主函数输入以下测试代码,定义一个const的指针,然后通过const_cast进行转换,删除const标签

怎样使用const_cast类型转换

4、修改主函数的测试代码,通过const_cast将const High * 转换为const Low *

怎样使用const_cast类型转换

5、点击运行调试,编译报错,无法转换,说明const_cast不能进行不同类型的转换,只能改变const或者volatile特征

怎样使用const_cast类型转换

6、我们孀晏弁钾也可以通过采用通用的方法来进行强制类型转换,但是这样有可能会改变类型,因为能够将const CHigh *改为CLow *而没有编译报错,因此安全性不够

怎样使用const_cast类型转换

7、const_cast可以去掉const标签,但是不一定能过改变变量的值,下面举个例子进行说明,首先定义如下函数,转换const int *的类型为 int * , 然后对值进行修改

怎样使用const_cast类型转换

8、主函数添加如下的测试代码,注意定义了两个变量一个示int, 另一个是const int

怎样使用const_cast类型转换

9、最后运行的结果如下所示,从中可以看出,iNum1的值改变,而iNum2的值没有改变,所以仅当指向的值不是const时,才能对值进行改变

怎样使用const_cast类型转换
  • 年后如何脱掉“懒散症”?
  • 香甜美味白粥
  • 如何将Excel数据导入到MySQL Workbench工作台?
  • VS 2017创建MVC应用如何实体数据模型
  • 网页中启用禁用下拉列表效果技巧
  • 热门搜索
    以爱为主题的手抄报 环境教育手抄报 珍惜粮食手抄报 安全文明手抄报图片 我爱汉字手抄报图片 校园文明手抄报内容 手抄报装饰图案 简单英语手抄报图片 我爱读书手抄报花边 关于法制的手抄报图片