我参加了基于C ++思考的入门级C ++课程。原谅我可能错过了显而易见的事情:
#include <iostream> // cout
using namespace std;
int main(){
const int i = 0;
int* j;
j = const_cast<int*>(&i);
*j = 5;
cout << (&i) << "," << i << "," << j << "," << (*j) << endl;
system("pause");
}
我的系统返回:
&#39; 0x22ff74,0,0x22ff74,5&#39;
我只声明了两个变量,一个包含一个int,一个包含指向同一个int的指针。我认为const_cast是从const转换为nonconst&#39;。那么cout如何找到三个不同的值?