.
3.3 指针const
指针const分为两种: 底层const, 顶层const
(普通变量的const(或引用)永远是顶层const,也就是说,const int 和int const本质都一样...)
1)底层const(位于*左侧)
常量指针,表示指向的对象是个常量,不能修改其内容,只能更改指针指向的地址....(位于*右侧)
指针常量,表示不能更改指针指向的地址,只能修改其内容(定义时必须被初始化)
其实很好理解,比如 int * const p, 修饰 p是个const常量.而 p是指向对象的地址.所以表示指向对象的地址是个常量...和引用非常相似,例如:
int a=1;
int b=3;
//int *const p; //错误,没有被初始化
int *const p=&a; //顶层const
//p=&b;...//错误,不能更改指针指向的地址
*p=2; //正确,修改a的值等于2
3.4 顶层const变量可以替代mutable变量
1) mutable介绍