可以用来修饰函数的参数指针,防止函数修改外面的变量的值
void test(const *p){
这个p是不能被修改的,只可以访问
}
int * const p和 int const *p的区别
int * const p 里面,const修饰的是指针,这个指针的指向不能被修改
例如:
int height=10;
int age=30;
int *const p=&age; // const修饰p指针,而不是p指针的值
p=&height; // 修改指针的指向, 这句代码会报错
int const *p ; //const修饰的是*p,也就是p指的值,也就是p指针的值不能被修改,但是可以修改指向
例如:
int const *p = age;
*p=30; //这句代码会报错
p=&height; //这句代码是对的
const修饰的引用叫常引用
const修饰的引用变量可以直接传值,也可以传引用变量
如果是直接引用作为参数,是不能直接传值的
int sum(int &a,int&b){
return a+b;
}
sum(10,20) 这行代码会报错
必须
int a=10
int b=20
sum(a,b)
如果想sum不报错,可以把函数参数用const去修饰,把参数变成常引用
例如:
int sum(const int &a,const int &b)
以上规则同样适用于const指针