指针常量 -> 指针本身是常量,
指针本身无法修改,但是它指向的内容可以修改。
因为指针本身是常量,声明的时候一定要赋值
如:
int* const c = &b;
指针c是常量,所以const紧跟它,它是int* 指针,初始化为b的地址,c必须指向b,但是b可以修改,
如果b是指针,可以通过修改b来修改c。
常量指针 -> 常量的指针
指针指向的是常量,所以指向的内容无法修改,指针本身可以修改。
如:
const int* p; int const* p
p是指针,指向常量。
const T *const c
这里有2个const,指针c本身是常量,它指向的也是常量,
所以指针本身不能修改,指向的常量也不能修改。
函数后const
只读函数,不允许修改类的成员