博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
强制修改常量的值
阅读量:5022 次
发布时间:2019-06-12

本文共 528 字,大约阅读时间需要 1 分钟。

常量的值是不可以被修改的,但是由于指针的使用,使得常量值的改变成为可能。它所修改的常量也只是由const定义,通过取地址运算符指向该常量得到内存,然后改变该内存的内容,实现常量值的强制修改。

本例以整形常量为例,定义整形指针point及整形数据changliang(由const定义的常量)。将point指向changliang所在的内存,通过改变内存的内容,实现强制性的改变常量值。

代码如下:

#include
#include
using namespace std;int main(){ int *point; const int changliang=12; point=(int*)&changliang; *point=32; cout<<"changliang值:"<
<

运行结果:

注意:由运行结果可以看出,强制改变常量的值并没有真正实现。它只是改变了changling所占内存的值,并没有改变changling的值

转载于:https://www.cnblogs.com/0405mxh/p/10125210.html

你可能感兴趣的文章
CountDownTimer完整具体演示样例
查看>>
ubuntu删除g2o
查看>>
ThreadLocal的认知与见解
查看>>
利用Google Map API获取给定地址的经纬度
查看>>
iOS 8个实用小技巧(总有你不知道的和你会用到的)
查看>>
python的内存管理机制
查看>>
认识电脑硬件
查看>>
[转]GREP for Windows
查看>>
Javascript:看 Javascript 规范,学 this 引用,你会懂的。
查看>>
Problem B: 调用函数,求1!+2!+3!+......+10!
查看>>
WeinView 与 MITSUBISHI FX 系列 PLC 通讯范例
查看>>
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
查看>>
手动配置三大框架整合:Spring+Struts2+mybatis
查看>>
开博了
查看>>
利用Jenkins自动部署工具间接构建kettle的调度平台
查看>>
关于 '0' === 0 浅析
查看>>
初始化mysql数据库时提示字符编码错误的解决办法
查看>>
python+selenium商城UI自动化
查看>>
使用参数和接收表单数据
查看>>
Android学习小记
查看>>