1.定义标识常量
const约束基本类型存储单元为只读,一旦定义初始值后不可修改或重定义。语句格式为:
const 类型名 常量名 = 常量表达式
const int num = 23; //定义整型常量
const double PI = 3.14; //定义浮点型常量
const char * School_Name = "SCUT"; //定义字符串常量
const int a = 2 * num; //a是值为46的常量
2.定义常量指针
用const约束指针对所指对象的访问,其语句格式为:(习惯一种写法就可以)
const 类型名 * 指针名 或 类型名 const * 指针名
int a,b;
cont int * p = &a; //定义常量指针p。
* p = 5; //编译出错,不可以通过常量指针修改其指向的内容。
a = 4; //没有问题,常量指针指向的内容可以被修改。
p = &b; //常量指针指向的位置可以更改
不可以把常量指针赋值给非常量指针,反过来是可以的。
const int * p1;
int * p2;
p1 = p2; //没有问题
p2 = p1; //编译出错,不可以把常量指针赋值给非常量指针。
p2 = (int *)p1; //通过强制类型转换可以进行赋值。
定义常量指针的一个好处是:将函数的参数定义为常量指针,可以避免函数内部随意修改数据。
void MyPrint(const char * p){
strcpy(p,"SCUT"); //编译出错,strcpy函数尝试将"SCUT"赋值给p指向的内容,不能执行。
cout<<p<<endl; //没有问题,输出指令不会修改p指向的内容。
}
3.定义常引用
之前的文章C++中的引用提到过,此处不再讲解。