【C++】const的离奇事件
首先看两个关于const的程序,并且猜测输出的结果是什么?
#include <iostream>using namespace std;void main(){const int a = 2;int *b = (int *)&a;*b = 3;cout << a <<endl;cout << (*b) <<endl;}
输出的是 2 和 3
#include <iostream>using namespace std;void main(){int c = 2;const int a = c;int *b = (int *)&a;*b = 3;cout << a <<endl;cout << (*b) <<endl;}
输出的是3 和 3
这是为什么呢?