C++——指针与const
与引用一样,可以令指针指向常量或非常量。类似于常量引用,指向常量的指针不能用于改变其所指对象的值。
如果想要存放常量对象的地址,只能使用指向常量的指针:
const double pi = 3.14; // pi是一个常量,值不能发生改变
double *ptr = π // 错误, ptr只是一个普通的指针, 无法指向一个被const修饰的量
const double *cptr = π // 正确,cptr同样被const修饰,可以指向被const修饰的量
*cptr = 42; // 错误: 不能给*cptr赋值
通常情况下,指针的类型必须与其所指对象的类型一致,但是有两个例外。第一种例外情况是允许令一个指向常量的指针指向一个非常量对象:
double dval = 3.14; // dval 是一个双精度浮点数,它的值可以被改变
cptr = &dval; // 正确:但是不能通过cptr改变dval的值
和常量引用一样,指向常量的指针没有规定其所指的对象必须是一个常量。所谓指向常量的指针仅仅要求不能通过该指针改变
C++——指针与const最先出现在Python成神之路。
版权声明:
作者:zhangchen
链接:https://www.techfm.club/p/19134.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论