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);
}