怎样使用const

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

需要这些哦
C++
方式/
1【怎样使用const】起首界说基类CLow , 然后实现对应代码

怎样使用const

文章插图

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

怎样使用const

文章插图

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

怎样使用const

文章插图

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

怎样使用const

文章插图

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

怎样使用const

文章插图

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

怎样使用const

文章插图

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

怎样使用const

文章插图

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

怎样使用const

文章插图

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

怎样使用const

文章插图

注重事项喜好经验接待点赞!

以上内容就是怎样使用const的内容啦 , 希望对你有所帮助哦!

    推荐阅读