const 是c++中常用的修饰符,用它修饰的数据是无法改变的,所以当const遇到指针时就会出现几种情况:

  const int *p1;  //代表了指向常量的指针变量,意思就是指针自身可以改变,他们可以指向其他地址,但是他们指向地址中的数据是不能改变的;

  int const *p2;  //同上;

  int* const p3;  //代表常量指针,意思是指针自身不能改变,但是他们指向地址中的数据是可以改变的;

  const int* const p4;  //代表指向常量的常量指针,指针自身不能改变,其指向地址的内容也不能改变;

  int const* const p5;  //同上;