const 修饰指针

本文探讨了C++中const关键字的作用,包括防止变量被意外修改,以及const修饰指针的不同情况。重点讲解了const修饰指针的两种方式,以及如何确保指针内容和指针本身的不可变性。
摘要由CSDN通过智能技术生成

新人首创,不足之处还请见谅!

我们知道口语常说的指针其实是指针变量,是一个变量,它用于储存地址。const的中文解释是常量的意思,它修饰变量后可以让变量拥有常量属性。在书写大量代码时,会有许多类似变量名,或者是传参时,可能会出现形参与实参对应记反,不小心改变了变量等行为。所以const它还是有着不小的作用。那么const该如何用呢?

可以看到在修饰普通变量后,再次改变就不符合语法规则了,会报错,且const有两种写法都是修饰变量本身(const int a <=> int const a),不过const只是让变量拥有了常量属性,改变了原有的规则而已,使用一些方法可以规避const的常量属性如:

可以看到使用指找到a,还是可以直接改变的。显然这和我们给变量用const初衷违背,那么如何规避这种情况呢?我想可以用const修饰,不过int * pa,const可以有三处写法,它们有的之间会略有不同需要注意。

可以看到报错,现在pa,pb所指向的对象都不可改变了。那么另外一种肯定就是让p本身不可改变了。如:

总结:

const如果放在*的左边,修饰的是指针指向的内容,保证指针指向的内容不能通过指针来改变。 但是指针变量本⾝的内容可变。

const如果放在*的右边,修饰的是指针变量本⾝,保证了指针变量的内容不能修改,但是指针指
向的内容,可以通过指针改变。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值