怎样使用const

const_cast是C++此中一种类型转换运算符,它只有一种用途,就是改变值为const 或 volatile, 因为编程时会无意间改变变量的类型,是以利用const_cast运算符会加倍平安!下面将申明如何利用const_cast进行类型转换以及它存在的局限!

东西/原料

  • C++

方式/步调

  1. 1

    起首界说基类CLow,然后实现对应代码

  2. 2

    然后界说子类CHigh, 担当CLow, 然后实现对应代码

  3. 3

    完当作上面的根本代码之后,本家儿函数输入以下测试代码,界说一个const的指针,然后经由过程const_cast进行转换,删除const标签

  4. 4

    点窜本家儿函数的测试代码,经由过程const_cast将const High * 转换为const Low *

  5. 5

    点击运行调试,编译报错,无法转换,申明const_cast不克不及进行分歧类型的转换,只能改变const或者volatile特征

  6. 6

    我们也可以经由过程采用通用的方式来进行强制类型转换,可是如许有可能会改变类型,因为可以或许将const CHigh *改为CLow *而没有编译报错,是以平安性不敷

  7. 7

    const_cast可以去失落const标签,可是纷歧心猿意马能过改变变量的值,下面举个例子进行申明,起首界说如下函数,转换const int *的类型为 int * , 然后对值进行点窜

  8. 8

    本家儿函数添加如下的测试代码,注重界说了两个变量一个示int, 另一个是const int

  9. 9

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

注重事项

  • 喜好经验接待点赞!
  • 发表于 2018-11-12 00:00
  • 阅读 ( 797 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

联系我们:uytrv@hotmail.com 问答工具