读书人

把非const变量赋值给指向const的指针

发布时间: 2012-04-13 13:50:24 作者: rapoo

把非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本身就没有所谓的常量属性。

读书人网 >C++

热点推荐