c++中const用法
1、const修饰指针
1.1 const修饰指针 --常量指针
特点:指针的指向可以修改,指针指向的值不可以修改;
int a = 10;
int b = 10;
int* p = &a;
修改:
const int* p = &a; //常量指针
*p = 20; //错误:指针指向的值不可以修改;
p = &b; //正确:指针的指向可以修改,b的值也是10;
1.2 const修饰常量 --指针常量
特点:指针的指向不可以修改,指针的值可以修改;
int a = 10;
int b = 10;
int* p = &a;
修改:
int* const p = &a; //指针常量
*p = 20; //正确:指针指向的值可以修改;
p = &b; //错误:指针的指向不可以修改;
1.3 const既修饰指针又修饰常量
特点:指针的指向和指针指向的值都不可以修改;
int a = 10;
int b = 10;
int* p = &a;
修改:
const int* const p = &a;
*p = 20; //错误:指针指向的值不可以修改;
p = &b; //错误:指针的指向不可以修改;
2、const在结构体中的使用
作用:防止误操作;