1.const修饰变量
const修饰变量会使变量具有常属性,变量就不能直接再次赋值。
但可以通过指针间接去修改变量,属于是曲线救国
上述曲线救国是针对的C语言,在Vs2022中,C++是不允许这样使用的,还是会报警告,看来C++是做了对const的优化了的
2.const修饰指针
如果想让上面的曲线救国行不通,就可以把a的指针pa给限制住
const修饰指针有两种情况
- const放在*的左边 const修饰的是*pa整体,指pa指向的内容不可以被修改,但pa指针本身可以被修改,如果pa指向a,那么a就不能被修改,但pa本身是可以变的,pa也可以重新赋值为b的地址,pa指向b,b就不可以被修改
- const放在*的右边 const修饰的是pa指针本身,pa指针变量本身不可以被修改,pa只能是a的地址,不可以是b的地址,但pa指向的内容可以被修改,可以改变a的值