改变const修饰的常量值?(最近分数比较紧张,所以只能给10分,还望大家理解,谢谢!)
最近在网上看到这样一段解释:
const修饰的值可以通过下面的方法来更改:
const int i=0;
int *p = (int*)&i;
P = 100;
通过强制类型转换,将地址赋给变量,在作修改即可以改变const常量值。
我测试了一下,在TC上是可以编译通过(有警告),输出结果 i 的值并没有改变,改变的只是指针P的值。
但是这段代码在VC上是编译不通过的。即使更改也就是更改指针p的值。
问:const修饰的常量值可以改变吗?怎样改变?