“const”关键字的用法
———————————————————————————
1.定义常量 :
const int MAX_VAL = 23;
const double Pi = 3.14;
const char * SCHOOL_NAME = "Peking University";
用法与 define 类似,C++中的const 定义常量时有类型,便于类型检查。
2.定义常量指针:
不可通过常量指针修改其指向的内容
int n,m;
const int *p = & n;//p的类型为常量指针
* 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
}
3.定义常引用:
不能通过常引用修改其引用的变量
int n;
const int & r = n;
r = 5;//error
n = 4;//ok