c++const关键字

1、用来定义常量

2、定义常量指针

不可通过常量指针修改其指向的内容

int n, m;
const int *p = & n;
//编译出错,通过常量指针p修改了n的值是不允许的
* p = 5;
n = 4;
//常量指针的指向可以改变
p = &m;

不能把常量指针赋值给非常量指针,反过来却是可以的,原因是一半常量指针所指向的内容是不允许被修改的。

const int *p1;
int *p2;
p1 = p2;
//这样是错误的
p2 = p1;
//进行强制类型转换之后则可以
p2 = (int*)p1;

函数参数为常量指针时,可避免函数内部不小心改变参数指针所指地方的内容

void MyPrintf(const char *p)
{
  //编译出错,可能会p所指向的内容
  strcpy(p, "this");
  printf("%s", p);
}
posted @ 2022-12-25 19:22  cxy8  阅读(14)  评论(0编辑  收藏  举报