const int a;
int const a;
上述两种声明方法等价,在C++标准中规定,const关键字放在类型或者变量名之前是等价的。
同理,
const int *p;
int const *q;
上面的p和q都被声明为const int类型的指针,在后续的操作中不能改变*p和*q的值,但是p和q的值可以改变。
如果要声明为int类型的const指针,则应该声明如下:
int *const r=&n;
r是一个const指针,在声明的时候就已经被初始化,后续r的值不能改变,但是*r的值可以改变。