新人首创,不足之处还请见谅!
我们知道口语常说的指针其实是指针变量,是一个变量,它用于储存地址。const的中文解释是常量的意思,它修饰变量后可以让变量拥有常量属性。在书写大量代码时,会有许多类似变量名,或者是传参时,可能会出现形参与实参对应记反,不小心改变了变量等行为。所以const它还是有着不小的作用。那么const该如何用呢?
可以看到在修饰普通变量后,再次改变就不符合语法规则了,会报错,且const有两种写法都是修饰变量本身(const int a <=> int const a),不过const只是让变量拥有了常量属性,改变了原有的规则而已,使用一些方法可以规避const的常量属性如:
可以看到使用指找到a,还是可以直接改变的。显然这和我们给变量用const初衷违背,那么如何规避这种情况呢?我想可以用const修饰,不过int * pa,const可以有三处写法,它们有的之间会略有不同需要注意。
可以看到报错,现在pa,pb所指向的对象都不可改变了。那么另外一种肯定就是让p本身不可改变了。如:
总结:
const如果放在*的左边,修饰的是指针指向的内容,保证指针指向的内容不能通过指针来改变。 但是指针变量本⾝的内容可变。
const如果放在*的右边,修饰的是指针变量本⾝,保证了指针变量的内容不能修改,但是指针指
向的内容,可以通过指针改变。