int main()
{
const double minvalue = 9.6; ///定义常量double
const double *ptr = &minvalue; ///将minvlaue地址赋予ptr
cout<< *ptr<<endl; ///结果: 9.6
double dal = 10.6 ; ///定义dal = 10.6
ptr = &dal; ///改变ptr的地址
cout<< *ptr <<endl; ///其地址指向的值也得到了改变 10.6
}
1.常量在程序中任何改变这个值的企图都将导致编译错误因此它被称为是只读的read- only ---------理论是无法修改其值
2.我们可以定义一个const 指针指向一个const 或一个非const 对象 ------------特殊方法修改其值
例如
int errNumb = 0;
int *const curErr = &errNumb;
curErr 是指向一个非const 对象的const 指针,我们可以从右拄左把定义读作curErr是一个指向int 类型对象的const 指针,这意味着不能赋给curErr 其他的地址值但可以
修改curErr 指向的值
3.const 对象的const 指针的定义就是将前面两种定义结合起来----------------解决2存在问题方案
例如
const double pi = 3.14159;
const double *const pi_ptr = π
在这种情况下pi_ptr 指向的对象的值以及它的地址本身都不能被改变 我们可以从右往左将定义读作pi_ptr 是指向被定义为const 的double类型对象的const 指针