小龙说:
既然选择了做星星,那就一定要做最璀璨的那颗。
一、定义常量
const int MAX_VAL = 23;
const double Pi = 3.14;
const char *SCHOOL_NAME = "Peking University";
二、定义常量指针
- 不可通过常量指针修改其指向的内容
int n,m;
const int *p = &n;
*p = 5; //编译出错
n = 4; //ok
p = &m; //ok,常量指针的指向可以变化
- 不能把常量指针赋值给非常量指针,反过来可以
const int *p1;int *p2;
p1 = p2; //ok
p2 = p1; //error
p2 = (int *)p1; //ok,强制类型转换
- 函数参数为常量指针时,可避免函数内部不小心改变参数指针所指地方的内容
void MyPrintf(const char *p)
{
strcpy(p,"this"; //编译出错
printf("%s",p) //ok
}
三、定义常引用
- 不能通过常引用修改其引用的变量
int n;
const int &r = n;
r = 5; //eroor
n = 4; //ok
本文内容为慕课笔记:
中国大学慕课北京大学郭炜老师所讲的C++面向对象程序设计
如有错误或者不足之处,欢迎大家留言指正!