概念:
顶层const:指的是const修饰的变量本身是一个常量,不可改变,指的是指针,在
∗
*
∗的右边
底层const:指的是const修饰的变量所指向的对象是一个常量,指的是所指变量,就是 ∗ * ∗号的左边
int main() {
int a=10;
int c=5;
int *const b1=&a; //const 在*右边,顶层const,b1不可改变
// b1=&c; //error
const int * b2=&a;//const在*左边,底层const ,b2本身可变,b2所指对象是常量
b2=&c;
const int b3=20;// 顶层const b3不可改变
// b3=50;
const int * const b4=&a;//前一个const是底层,后一个为顶层,b4不可变
// b4=&c; //error
const int & b5=a;//用于声明引用变量,底层const
}