const 控制变量的变化
const与基本类型 const int x=3; //x的值无法改变
const与指针类型 int x=3,y=4;
const int *p=&x;//const修饰的是*p
p=&y; //p可以指向新地址
*p=4; //错误,*p无法改变
或者
int x=3,y=4;
int * const p=&x;//const修饰的是p
p=&y; //错误,p只能只想x的地址
*p=4; //*p可以改变
而 const int *const *p=&x; //p与*p都不能改变
const与引用
int x=3;
const int &y=x;
y=20; //错误,无法改变
x=10; //x的值可以改变