编译器是从来不考虑这个常量从地址被修改的情况的,即一开始定义后,就不会被重新从地址取值。
【实现过程】
本实例以整型常量为例,定义整型指针point及整型数据changliang(由const定义的常量)。将point指向changliang所在的内存,通过改变内存的内容,实现强制性的改变常量值。代码如下:
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int *point;
const int changliang=12;//指针
point=(int*)&changliang;//常量
*point=34;
cout<<"changliang值:"<<changliang<<endl;
cout<<"point指向changliang内存的值:"<<*point<<endl;
getchar();
return 0;
}