读书人

一个初学者的const有关问题~

发布时间: 2012-02-17 17:50:42 作者: rapoo

一个菜鸟的const问题~~
#include <iostream>

using namespace std;

const int array[]={1,2,3,4,5}; //语句1

void main()
{
//!const int array[]={1,2,3,4,5}; //语句2
int* ptr=const_cast <int *> (array);
ptr[0]=50;
cout < <array[0] < <endl;
}
这个程序存在一个run-time error,但是如果将语句1屏蔽,使用语句2,正常.请问是什么问题??

[解决办法]
语句1定义的全局变量是在全局区,数据不能被改变
而语句2定义的局部变量在栈区,数据能被改变

读书人网 >C++

热点推荐