const 变量 和 const指针 比较复杂。这里记下来:
我们不能间接地指向一个 const对象 只意味着我们必须声明一个指向常
量的指针来做这件事 例如
一:const double *cptr; 叫做:指向const对象的指针。指针不const,但指向的对象是const的
cptr 是一个指向 double 类型的 const对象的指针 我们可以从右往左把这个定义读为
cptr 是一个指向 double 类型的 被定义成 const的对象的指针 此中微妙在于cptr 本
身不是常量 我们可以重新赋值 cptr 使其指向不同的对象 但不能修改 cptr 指向的对象
注意这里:1.cptr可以重新赋地址值,但不能改变cptr所指向的const值
2.cptr可以指向非const对象。
二:还有一种指针:double *const cptr; 叫做:const指针。可以指向const或者非const对象。也就是指针本身是const的。
这一种呢是:1.不可以改变地址值。
2.如果所指向的对象不是const就可以改变对象的值。