怎样使用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应用如何实体数据模型
  • 网页中启用禁用下拉列表效果技巧
  • 热门搜索
    怎么用簪子盘头发 鼻炎流鼻涕怎么治疗 qq说说大全 毛线编织鞋子的方法 广场舞视频大全2020年最火广场舞 30种最常吃的家常菜 鸭血怎么做好吃 字中间的圆点怎么打 催奶的方法 古装剧电视剧大全