1.定义常量
const int MAX_VAL = 23;
const double Pi = 3.14;
2.定义常量指针
- 不可通过常量指针修改其指向的内容
int n,m;
const int *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)
{
strcpy(p,"this");//编译错误
printf("%s",p);//正确
}
//strcpy()第一个参数类型是char* ,相当于把 const char * 类型复制给char * 所以会报错。
3.定义常引用
- 不能通过常引用修改其引用的变量
int n;
const int & r = n;
r = 5;//编译错误
n = 4;//正确
网友评论