const的作用是防止参数被修改,可以理解为“只读”属性。
常见的几种形式:
1.void func(const string &str)
经常用来作为参数传入,参与函数却不期望被修改的情况。
//常量指针和指针常量
2.const int *p -----int const* p(两种写法结尾常量指针)//*号在const之后,修饰的是指针本身的对象,即对象不能修改,但是我们可以直接修改指针指向的对象。
可以修改所指向的地址
p=a;
p=&b; //正确
但是不能直接修改指针的值
*p=20;//错误
3.int * const p(指针常量)//*号在const之前,修饰的是指针本身,即地址无法改变,但我们可以修改指针指向对象的值
p=a;
是不能直接修改指针的值
p=&b; //错误
指针常量其指针本身指向的值可以进行修改
*p=20;//正确