首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一,const常量内存里的值变了,为何常量的值不变

2013-04-20 
1,const常量内存里的值变了,为何常量的值不变1,#include iostreamusing namespace stdvoid main(){cons

1,const常量内存里的值变了,为何常量的值不变
1,


#include <iostream>
using namespace std;
void main()
{
const int a=10;
 int &b=const_cast <int&>(a); //b为a的非常引用
 cout<<a<<"        "<<b<<endl;
 cout<<"&a "<<&a<<"      &b "<<&b<<endl;//ab地址相同
 b=20;
cout<<a<<"        "<<b<<endl;//ab值不同
cout<<"&a "<<&a<<"      &b "<<&b<<endl;//ab地址相同
}

b=20后 ab的地址还是相同,输出b是20,输出a却还是10,这是为什么 不变 const
[解决办法]
常量折叠- -
[解决办法]
可以参考我以前写的帖子http://blog.csdn.net/bluesky12312388/article/details/6007095
其实专业术语就叫“常量折叠”

热点排行