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

把非const变量赋值给指向const的指针,改变变量,不报错?该如何处理

2012-04-13 
把非const变量赋值给指向const的指针,改变变量,不报错?C/C++ code#includeiostreamusing namespace std

把非const变量赋值给指向const的指针,改变变量,不报错?

C/C++ code
#include<iostream>using namespace std;int main(){    int i =2;    const int j=i;    const int *pic=&i;    int *const cpi=&i;        //string *const pstring     while(i<11)    {     i++;     cout<<*pic<<endl;     cout<<*cpi<<endl;    }    system("pause");    return 0;    }


求解

[解决办法]
const 修饰的变量所谓的常量属性是由编译器保证的
const int *pic=&i;
这里意味着编译器不允许你通过Pic修改i的值,但是你直接修改i的值是没任何问题的,因为i本身就没有所谓的常量属性。

热点排行