关于C++ const_cast 问题

源码:
const int ica = 100;
int * ia = const_cast(&ica);
*ia = 200;
cout<< *ia <<ica<<endl; //200 100
cout<< ia <<endl;
cout<< &ica <<endl;

问题:ia 和 &ica 的地址值是一样的,为什么指向的内容会不同呢?!求大神解释一下@

虽然const_cast可以用来去除const int的const限定符号,但是const的本身是不会变化的,说明C++里是const,就是const,外界千变万变,我就不变。不然真的会乱套了,const也没有存在的意义了。

IBM的C++指南称呼“*modifier = 7;”为“未定义行为(Undefined Behavior)”。所谓未定义,是说这个语句在标准C++中没有明确的规定,由编译器来决定如何处理。
http://www.cnblogs.com/ider/archive/2011/07/22/cpp_cast_operator_part2.html