唔,既然int、float、double甚至我们自己定义的class都可以有对应的常量类型,那么指针应该也有常量才对,现在的问题是,我们应该如何定义一个指针常量呢?我们通常定义常量的作法是在类型名称前面加上const,像const int a等等,但假如在指针定义前面加const,由于*是右结合的,语义上计算机会把const int *p 视为 (const int) (*p)(括号是为了突出其结合形式所用,但不是合法的C++语法),即*p是一个const int型常量,p就为一个指向const int常量的指针。也就是说,我们所加的const并非修饰p,而是修饰*p,换成int const *p又如何呢?噢,这和const int *p没有区别。为了让我们的const能够修饰到p,我们必须越过*号的阻挠将const送到p跟前,假如我们先在前面定义了一个int变量a,则语句