迂回修改const时遇到的一个问题
问题的起因
请看这两段代码
int main() {
int a = 1;
const int b = 2;
//&b;
int *p = &a;
p--;
*p = 3;
}
上面这段代码在几乎所有的编译器中,结果都是b值没有改变。
而下面这段代码,则依据环境的不同有不同的结果,b可能不变,也有可能变成3。
int main() {
int a = 1;
const int b = 2;
&b;
int *p = &a;
p--;
*p = 3;
}
解答
问题的原因可以先参考这两篇文章
19 August 2024