顶层 const 表示的是指针本身是一个常量, 底层const 表示的是指针所指的对象是一个常量。
顶层const拷贝遵守原则:1.const常量不能改变。
2.顶层可忽略。
const int a = 12;
int b= a;//顶层忽略
3 .非常量可向常量转换,const int c = b;
底层const拷贝,则要求左值右值具有相同的身份。
int p = 1;
const int *p1=&p;
int *p2 = p1;//错误
绑定的原则: 常量不能绑定到非常量上,
非常量可以转化 绑定到常量上。
int p = 1;
const int *p1=&p;
int *p2 = p1;//错误