从Bruce Eckel的书中,const_cast在这个例子中做了什么?

时间:2014-05-23 17:44:45

标签: c++ casting const-cast

我参加了基于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如何找到三个不同的值?

0 个答案:

没有答案