int* const a = new int; //指针常量  
const int* b = new int; //常量指针

先删除类型成为

* const a = new int;
const *b = new int;

然后从=右侧向左侧看,其中*b可以看作先解引用,在被const修饰,所以把*b当作一个值,const valve 即可以看作为值不可变,也就是说第二句中指针指向的值不可变
而* const a 中a 没有被解引用,所以看作它是内存地址,又因为加了const,所以a指向的地址不可变,但是值没有const,所以值可以改变

总结一下,先删掉类型,在从有向左看,const修饰谁谁就不能变,没加const则可以改变