这个叫法在博客上很有争议。有人说const pointer翻译是常量指针,但是英语难道一定是按顺序翻译么。
举个例子const int类型的数据我们叫什么,整型常量没问题吧,不会说const在前面我们就叫常量整数吧。那const*不应该叫指针常量吗?还有比如指针数组,就是指针构成的数组,数组指针,就是指向数组的指针,那为什么指向常量的指针不能叫常量指针。
指针常量
Int *const p1=&b
*在const前,定义为指针常量 p1不可修改,但可修改*p1。这个不用死记硬背,const后面的是p1,p1是地址,所以是p1不可修改。
指向常量的指针(常量指针)
int const *p1 = &b;//也可写作const int*
const 在前,定义为指向常量的指针不能通过*p1修改b。const后面是*p1,是一个值,所以是值不能修改。但是需要注意的是,虽然不能通过*p1修改b,但是不代表b不能修改,可以直接通过b修改自身的值。
*p1=3;//这是错的
b=3;//这是可以的