首先,const 有什么用呢?
const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。
也就是说,可以定义const常量,定义了这样的类型的常量,顾名思义,该量的值不可改变。
其中,需要我们注意的是,虽说const类型的量相当于常量,但不能应用于switch中case的后面。
还有,例如 :int const i;等价于const int i;
那么,指针类型呢 ?
有了这个int const i;等价于const int i;
那么 int const *p;同样等价于const int *p;
这里的关键是const 是在*的左边还是右边。
若int * const p;const在*的右边,则p的值一旦初始化就不能变,也就是存放的地址不能变,就是指向不能被改变。
若int const **p;const在 星号的左边,那么*p不能被改变,也就是*p所指向的值不能被改变。