操作方法
修饰局部变量,int const a = 9; const int b = 8;这两种写法是一样的,表示a和b都是常量,不可改变。需要注意的是,用const修饰变量时,一定要给变量初始化,否则之后就不能再进行赋值了。
常量指针,指针指向的内容不能改变,int const *p; 或const int *p;这两种写法是一样的,表示p指向的内容是常量。需要注意两点: 1、常量指针说的是不能通过这个指针改变变量的值,但是还是可以通过其他的引用来改变变量的值的。 2、常量指针指向的值不能改变,但是这并不是意味着指针本身不能改变,常量指针可以指向其他的地址。
指针常量,指针本身是个常量,不能在指向其他的地址,int *const p; 表示指针p是个常量,它本身不可改变。需要注意的是,指针本身不可变,但指向的对象可变。
区分常量指针和指针常量的小技巧,按const=常量,*=指针,替换表达式,const在前就是常量指针,指针指向对象不可变,但指针本身可变;*在前就是指针常量,指针本身不可变,但指向的对象可变。
指向常量的指针常量,const int *const p; 表示指针本身不可变,也不能通过指针修改所指向地址的内容。需要注意的是,依然可以通过其他引用修改该指针指向地址的内容。
const还经常用于修饰函数参数,这样做可防止一些非预期的参数修改。
以上就是关于const的一些经典用法与说明,如有疑问,欢迎沟通,谢谢!