Mar*_*_WM 0 c++ pointers const
这是我的测试代码:
#define print(A) cout << #A << " = " << A << endl;
int main()
{
const int e = 2;
int *p = (int *)&e;
*p = 4;
print(e);
print(*p);
print(&e);
print(p);
}
Run Code Online (Sandbox Code Playgroud)
结果:
e = 2;
*p = 4;
&e = 0xbfc6b458;
p = 0xbfc6b458;
Run Code Online (Sandbox Code Playgroud)
由于"p"根据它们的相同地址指向"e",*p和"e"如何不同?这可能很危险,对吗?