美文网首页
c++编译器常量优化

c++编译器常量优化

作者: spyder_men | 来源:发表于2018-12-14 22:15 被阅读0次
    int main()
    {
        int const a = 10;
        int const * p = &a;
        int *q =const_cast<int *> (p);
        *q = 20;
        cout << *q << "\n" << *p << "\n" << a<<endl;
        system("pause");
    }
    

    结果

    image.png
    分析:变量a为啥是10?
    因为编译器在编译时会对常量做优化,并不是真的到内存中去取值
    解决办法:
    加关键字volatile
    int volatile const  a = 10;
    

    相关文章

      网友评论

          本文标题:c++编译器常量优化

          本文链接:https://www.haomeiwen.com/subject/mysnhqtx.html