码迷,mamicode.com
首页 > 其他好文 > 详细

强制修改常量的值

时间:2018-12-15 22:55:23      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:hang   int   div   height   .com   mes   内容   内存   图片   

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

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

代码如下:

#include<iostream>
#include<string>
using namespace std;
int main()
{
	int *point;
	const int changliang=12;
	point=(int*)&changliang;
	*point=32;
	cout<<"changliang值:"<<changliang<<endl;
	cout<<"point指向changliang内存的值:"<<*point<<endl;
return 0;
}

运行结果:

技术分享图片

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

强制修改常量的值

标签:hang   int   div   height   .com   mes   内容   内存   图片   

原文地址:https://www.cnblogs.com/0405mxh/p/10125210.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!