C++ const修饰指针
const修饰指针有三种情况:
- const修饰指针 ----------- 常量指针
- const修饰常量 ------------ 指针常量
- const即修饰指针又修饰常量
1.常量指针
形式:const int * p = &a
在使用时注意:
const int * p = &a;
//*p = 60;错误
p = &b;//正确
*p = 60的写法是错误的,因为常量指针,指针的指向的值不可变,不可再进行赋值,而 p = &b是正确因为常量指针的指向可变
2.指针常量
形式: int * const p1 = &a
在使用时注意:
int * const p1 = &a;
//p1 = &b;错误
*p1 = b;//正确
p1 = &b的写法是错误的,因为指针常量,指针的指向不可变,而 *p1 = b是正确因为指针常量的指向的值可变
3.const即修饰指针又修饰常量
形式:const int * const p2 = &a
在使用时注意:
const int * const p2 = &a;//const即修饰指针又修饰常量,指针的指向的值不可变,指针的指向也不可变
//p2 = &b;错误
//*p2 = b;错误
const即修饰指针又修饰常量,指针的指向的值不可变,指针的指向也不可变
记忆方法
const在 *(指针)的左边,从左往右念即常量指针
*(指针)在const的左边,从左往右念即指针常量