指针和const限定符



1、指向const对象的指针



如果指针指向const对象,C++要求指向const对象的指针也必须具有const特性:
	const double _pi = 3.1415926;
	const double *cptr = &_pi;

  • 指针cptr本身不是const,也就是允许给cptr重新赋值指向另外一个const对象。
  • 不能使用void*指针保存const对象的地址,而必须使用 const void*
  • 允许把非const对象地址赋值给cptr(当然也就不能通过cptr来修改其值了)
可以把指向const的指针理解为“自以为指向const的指针”

2、const指针



const指针本身的值不能修改
	int _number = 0;
	int *const _ptr = &_number;
可以从右向左把上述语句读为:_ptr是指向int型对象的const指针
既然为const,_ptr在定义时初始化后就不能再指向其他对象了。
虽然_ptr是const,不过并没有说明指针指向的对象不能修改,该对象还是完全取决于其自身的属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值