const限定符

本文详细探讨了C++中const限定符的应用,包括常量变量、常量引用、指向常量的指针和常函数的概念,以及它们在程序中的行为和限制。重点讲解了const对象的作用域、引用与指针的区别,以及如何正确使用它们以确保代码的健壮性。
摘要由CSDN通过智能技术生成

const限定符

1.在变量前加const限定符使得变量成为常量;因为const对象一旦创建后其值就不能改变,因此const对象必须初始化。

const int a=10;

此处a成为常量。

2.默认情况下,const对象仅在文件内有效,为了解决一个文件定义const变量,多个文件进行声明使用,需要在const变量的定义和声明都加上extern关键字。

extern const int a=10;
extern const int a;

const的引用(简称常量引用)

1.把引用绑定const对象上,我们称之为对常量的引用,因此const引用不能修改被绑定的对象的值;

const int b=10;//定义一个const变量
const int &p=b;//绑定const对象

以下代码是错误的

int &q=b;//一个非常量引用指向一个常量对象是错误的

2.注意引用不是对象,只是绑定了一个对象;因此常量引用只是“对const的引用”的简称;
3.引用的类型需要和初始值类型一致;
4.常量引用可以引用非常量对象;

int i=10;
const int &a=i;

i 的值可以通过其他途径进行修改。

指向常量的指针

1.和引用一样,指针也可以指向常量和非常量;
2.指向常量的指针同样不可以更改所指对象的值;
3.指向常量的指针同样可以指向非常量对象;

const double pi=3.14;
const double *p=π

const指针(常量指针)

与引用不同,指针本身就是个对象,因此允许定义一个指针为常量;同样的,常量指针必须初始化,一旦初始化完成后,它的值(指针存放的地址)就不会再改变了;

注意:不变的是指针存放的地址而不是其指向的值。

int a=10;
int *const p=&a;//定义常量指针

this指针

this指针是一个常量指针,它不能改变指向;

Person *const this=null;

常函数

1.成员函数后加const限定符即为常函数;
2.常函数不可以修改成员变量;
3.声明成员变量时加关键字mutable后,在常函数中依然可以修改其成员变量;
4.常对象只能调用常函数;
5.常函数中this指针不能改变指向也不能改变指向的值;

const Person *const this=null;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值