我有以下代码:指向const的指针。指针改变,但const的没有变化
int main(void) {
const int a = 2;
int *p = (int *)&a;
++*p;
cout << a << endl << *p << endl;
cout << &a << endl << p << endl;
return 0;
}
指针指向const int a
但是当我改变*指针。 *p = 3
a = 2
;
虽然p和a具有相同的地址。
我不知道如何创建这个结果。 任何人都可以为我解释。谢谢!
未定义的行为意味着任何事情都可能发生:) –