const int用const_cast转换后的有关问题

const int用const_cast转换后的问题
C/C++ code

        const int const_int=123;
    int& test_const_cast=const_cast<int&>(const_int);
    cout<<test_const_cast<<endl;//输出为123
    test_const_cast=3;
        //004016F9   mov         eax,dword ptr [ebp-1Ch]
        //004016FC   mov         dword ptr [eax],3 ;的确改变了存储单元的值
    int a=const_int;  
        //00401702   mov         dword ptr [ebp-20h],7Bh;直接将7BH传给a
    cout<<"a\t"<<a<<endl;//123
    cout<<"const_int\t"<<const_int<<endl;//123
    cout<<"test_const_cast\t"<<test_const_cast<<endl;//3


编译器在编译时遇到const_int,是不是优先将其看作枚举类,直接将它替换为对应的整型常量,不考虑其存储单元的值?
而将int换为float,执行上述相同操作后,const_float也会随之改变。是不是存储方式的不同导致的?

------解决方案--------------------
const_int确实是在编译时被数字替换了,至于float,不懂
------解决方案--------------------
测试了,改成float确实如LZ所说

也觉得与存储方式有关
------解决方案--------------------
C/C++ code

test_const_cast=3;