C++指针与const

节选自C++ primer plus

有两种不同的方式将const关键字用于指针,第一种方法是将指针指向一个常量对象,这样可以防止使用该指针来修改所指向的值【因为常量是不可以被修改的,因此无法通过指针来修改值】

第二种方法是将指针本身声明为常量,这样可以防止改变指针指向的位置。【也就是指针不会再指向别处了】

int age=20;
const int *pt=&age;

pt的声明并不意味着它指向的值实际上就是一个常量,而只是意味着对于pt而言,这个值是常量。

禁止通过pt去修改值。

c++禁止将const地址赋值给非const指针。

将指针参数声明为指向常量数据的指针有两条理由。

  • 这样可以避免由于无意间修改数据而导致的编程错误。
  • 使用const使得函数能够处理const和非const实参,否则将只能接受非const数据。

如果条件允许,则应将指针形参声明为指向const的指针。

int *const finger=&age;

这样的做法是规定finger只能指向age,可以改变age的值。但是不能改变它的指向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值