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

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

2012-02-17 
一个菜鸟的const问题~~#include iostreamusingnamespacestdconstintarray[]{1,2,3,4,5}//语句1voidma

一个菜鸟的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定义的局部变量在栈区,数据能被改变

热点排行