C++中的const关键字

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++中的引用提到过,此处不再讲解。



©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容